와일드카드 가능한 무료 DNS 및 무료 SSL 인증서 인증 기관에서 사이트 구축

4971 단어 letsencryptdynu
인트라넷에서 OpenShift를 사용했을 때는 미리 인트라 DNS에 *. 혜택을 얻을 수 있었다. 인트라넷이라고 하는 것으로 나누어 SSL 증명서도 사용하지 않았고.

이번에 인터넷용으로 비슷한 일을 하고 싶지만, 이 시세, 가능한 한 돈을 쓰고 싶지 않다. 무료 DNS는 이야기는 듣고 있었지만, Let's Encrypt라고 하는 매우 고맙다 무료 SSL 증명서의 인증국이라고 하는 것도 알았고. 또한 Let's Encrypt는 와일드카드 도메인 이름에도 대응하고 있기 때문에 훌륭하다.

그리고, 설정에 성공한 예는 선구자 쪽의 기사를 참고로 받도록 하고, 조금 끼워 넣은 것을 기사로 해 보았습니다.

Dynu로 DNS 등록



와일드카드가 가능한 무료 DNS를 찾은 곳에서 여기가 발견되었다.
화면 오른쪽 상단의 [Create Account]에서 계정을 만들면 제어판이 표시됩니다.

여기에서 DDNS 서비스를 클릭하고,

추가를 클릭합니다.

등록할 도메인 이름을 지정하고 추가를 클릭합니다.
자신은 Option1 쪽으로, 와일드 카드 없음의 호스트명을 입력해, 적당하게 톱 레벨을 선택.

[IPv4 Address]에 IP 주소를 입력하고 [Save]를 클릭하여 완성.

Let's Encrypt로 SSL 인증서 만들기



호스트 CentOS 7.6에 클라이언트 도구 certbot을 설치.
$ sudo yum install -y epel-release
$ sudo yum install -y certbot

certbot 버전은 0.31.0.

에서 인증서 가져오기 명령을 실행합니다. 덧붙여 ${} 는 해당하는 정보에 옮겨놓고.
$ sudo certbot certonly --manual \
    --preferred-challenges dns-01 \
    --server https://acme-v02.api.letsencrypt.org/directory \
    -m ${自分のメールアドレス} \
    -d ${ドメイン名} \
    -d *.${ドメイン名}

...途中省略...

Please deploy a DNS TXT record under the name
_acme-challenge.inet-strange.dynu.net with the following value:

${生成された値}

Before continuing, verify the record is deployed.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue

여기서 DNS에 TXT 레코드를 만들어야 한다는 것. Dynu는 TXT 레코드도 설정할 수 있다고 들었으므로 [Manage Dynamic DNS Service] 화면에서 [DNS Records]를 클릭하고 [Manage DNS Records] 화면의 [Type]을 [TXT - Text]로 변경하면 . . .

무려 30일 지나지 않으면 TXT 레코드는 작성할 수 없다는 것. orz
  • 나중에, 이 제한은 계정을 작성한 후의 일수가 아니고, 도메인명을 등록한 후의 일수인 것도 판명.

  • 따라서 DNS에서 인증이 필수인 와일드카드는 포기하고 certbot 명령의 옵션을 도메인 이름의 웹 서버에 액세스할 수 있는지 확인하는 방식(--preferred-challenges http-01)으로 변경하고 -d 옵션으로 생각해 내는 10개 정도의 서브 도메인명 첨부로 등록하는 것으로, 대처했습니다.

    그리고 30일 후



    눈에 띄는 dynu에서 TXT 레코드를 설정할 수 있습니다.

    certbot에서 와일드카드 SSL 인증서를 만들 수 있었습니다.

    그 90일 후



    오지 않으면 좋겠다고 생각하면서, 마침내 「Let's Encrypt certificate expiration notice for domain」의 메일이 왔습니다. 대부분의 뇌내 캐시에서 삭제된 지식을 단서로 아래 명령과 dynu에 대한 TXT 레코드 설정으로 업데이트할 수 있었습니다.
    # certbot certonly --manual \
     --preferred-challenges dns-01 \
     -d ${ドメイン名} \
     -d *.${ドメイン名}
    
  • 단지 처음에는 --preferred-challenges dns-01을 지정하지 않고 실행했는데, dns-01과 http-01 양쪽 모두가 실행되어 버려, dns-01은 성공했지만 http-01의 실패로 인해 인증서가 업데이트되지 않는 하메에 맞았습니다.
  • 지난번 DNS에 등록한 TXT 레코드가 반영되는 타이밍을 알지 못하고 불안해졌습니다. 이번에 nslookup -q=txt _acme-challenge. 알고 안심하고 일할 수있었습니다.
  • 좋은 웹페이지 즐겨찾기