Heroku SSL + Let's Encrypt에서 와일드카드 SSL 인증서 설정
9157 단어 letsencrypt경 6HerokuCLIcertbot
소개
Let's Encrypt 와일드카드 인증서를 얻는 방법 참고 의 기사가 참고가 됩니다! !
sushi
입니다. 주제
Heroku를 이용하고 있고, 와일드카드 SSL을 무료로 넣고 싶어서 조사한 내용을 메모적으로 기재합니다. 순서로서는, 이하 2점입니다.
도메인 추가
$ heroku domains:add *.example.com --app sushi
Added *.example.com to sushi... done
...
덧붙여서, Heroku SSL 를 이용하고 있습니다. Heroku SSL 과, SSL Endpoint 는 별개이므로, 조심해 주세요. 이번에는 Heroku SSL을 사용합니다.
SSL Endpoint를 이용한 경우에는 엔드포인트를 지정해 줄 필요가 있습니다. 지금은 거의 사용할 기회가 없다고 생각합니다.
htps : //에서 v 선 r. 헤로쿠. 코 m / r 치 c ぇs /
인증서 준비
/etc/letsencrypt/live/<ドメイン名 (example.com)>/fullchain.pem
/etc/letsencrypt/live/<ドメイン名 (example.com)>/privkey.pem
사용합니다.
certbot
를 이용하여 Let's Encrypt의 SSL 인증서를 만드는 방법은 이 사이트가 정중하고 이해하기 쉬웠습니다. Let's Encrypt 와일드카드 인증서를 얻는 방법 참고Heroku SSL에 인증서 업로드
$ sudo heroku certs:update /etc/letsencrypt/live/example.com/fullchain.pem /etc/letsencrypt/live/example.com/privkey.pem --app sushi
Resolving trust chain... done
▸ Potentially Destructive Action
▸ This command will change the certificate of endpoint example-1234 from ⬢ sushi.
▸ To proceed, type sushi or re-run this command with --confirm shushi
> sushi
Updating SSL certificate example-1234 for ⬢ sushi... done
Heroku 명령 복습
certs:add
heroku certs:add [証明書+中間CA証明書のファイルパス] [秘密鍵のファイルパス] --app [アプリ名]
certs:update
heroku certs:update [証明書+中間CA証明書のファイルパス] [秘密鍵のファイルパス] --app [アプリ名]
마지막으로 적응했는지 확인
$ curl -vI https://www.example.com
* About to connect() to www.example.com port 443 (#0)
* Trying 50.16.234.21... connected
* Connected to www.example.com (50.16.234.21) port 443 (#0)
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Server finished (14):
* SSLv3, TLS handshake, Client key exchange (16):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSL connection using AES256-SHA
* Server certificate:
* subject: C=US; ST=CA; L=SF; O=SFDC; OU=Heroku; CN=www.example.com
* start date: 2011-11-01 17:18:11 GMT
* expire date: 2012-10-31 17:18:11 GMT
* common name: www.example.com (matched)
* issuer: C=US; ST=CA; L=SF; O=SFDC; OU=Heroku; CN=www.heroku.com
* SSL certificate verify ok.
GET / HTTP/1.1
User-Agent: curl/7.19.7 (universal-apple-darwin10.0) libcurl/7.19.7 OpenSSL/0.9.8r zlib/1.2.3
Host: www.example.com
Accept: */*
SSL certificate verify ok
라고 기재되어 있으면, 성공입니다.curl 명령의 습관
-I
)$ curl -I http://www.example.com/
-v
혹은 --verbose
)$ curl -v http://www.example.com/
실수하면 롤백이 제공됩니다.
heroku certs:rollback --app sushi
그건 그렇고
Let's Encrypt 와일드카드 인증서를 얻는 방법 참고
Let's Encrypt 와일드카드 인증서를 얻는 방법 참고 의 기사가 참고가 됩니다! !
certbot 명령 실행(SSL 인증서 작성)
$ certbot certonly --manual \
--server https://acme-v02.api.letsencrypt.org/directory \
--preferred-challenges dns \
-d "*.example.com" -d example.com \
-m [email protected] \
--agree-tos \
--manual-public-ip-logging-ok
그렇게 하면 다음과 같이 DNS의 TXT 레코드를 수정하여 말하기 때문에 말한 것처럼 수정한다.
Please deploy a DNS TXT record under the name
_acme-challenge.example.com with the following value:
R31KSgjQrbga7AH5_H6KdJLjD6-5JNp3KEIRVEotSw0
Before continuing, verify the record is deployed.
TTL은 적게 설정하는 것이 좋다고 생각합니다. 60라든지.
DIG에서 TXT 레코드가 반영되었는지 확인
$ dig -t TXT _acme-challenge.example.com
#=>
; <<>> DiG 9.10.6 <<>> -t TXT _acme-challenge.example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14090
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;_acme-challenge.example.com. IN TXT
;; ANSWER SECTION:
_acme-challenge.example.com. 37 IN TXT "R31KSgjQrbga7AH5_H6KdJLjD6-5JNp3KEIRVEotSw0"
;; Query time: 4 msec
;; SERVER: 61.122.116.147#53(61.122.116.147)
;; WHEN: Mon Sep 14 10:33:04 JST 2020
;; MSG SIZE rcvd: 115
Reference
이 문제에 관하여(Heroku SSL + Let's Encrypt에서 와일드카드 SSL 인증서 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/fukmaru/items/dd75f2a3601472590ead텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)