Letsencrypt通常作成
無償でSSLのサービスが受けられる、Letsencrypt。
通常は
Nginx 1.14,php 7.3 (PHP-FPM), MySQL 5.7,SSL (Lets Encrypt),CentOS7への導入手順
のページにあるように
/root/certbot-auto certonly --webroot -w (ホームディレクトリ) -d (FQDN) --renew-by-default --email (連絡先メールアドレス)
と、コマンドラインから打つと、
- Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/(FQDN)/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/(FQDN)/privkey.pem
というメッセージとともに、証明書が作成されます。
ちょっと、入り組んだサーバー
ちょっと、入り組んだサーバーの設定だと、エラーになる場合があります。
IMPORTANT NOTES: - The following errors were reported by the server: Domain: (FQDN) Type: unauthorized Detail: Invalid response from http://(FQDN)/.well-known/acme-challenge/(英数字) [XXX.XXX.XXX.XXX]: "<!DOCTYPE html>\n<html>\n<head>\n<title>"
というエラーが表示されます。
Letsencrypt 作成の手順
certbot-auto
のコマンドをうつと、「-w (ホームディレクトリ)」で指定したディレクトリに
「/.well-known/acme-challenge/(英数字)」
というファイルを書き込みます。
そして、今度は、
http://
の80番ポートで、
http://(FQDN)/.well-known/acme-challenge/(英数字)
にアクセスを試みます。
しかし、前節のエラーは、
http://(FQDN)/.well-known/acme-challenge/(英数字)
にアクセスできなかったよ!
という事です。
ですので、LetsencryptのSSLを発行するサーバーと、certbot-autoコマンドをうつサーバーが違うと、また、大変です。
「/.well-known/acme-challenge/(英数字)」のファイルを手動で、サーバー側に持って行かないと行けません・・・
この説明は、今回、割愛します・・・
Letsencrypt 制限
certbot-autoは、利用制限があります。
何度も、証明書発行に失敗をしていると、
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator webroot, Installer None Obtaining a new certificate An unexpected error occurred: There were too many requests of a given type :: Error creating new order :: too many failed authorizations recently: see https://letsencrypt.org/docs/rate-limits/ Please see the logfiles in /var/log/letsencrypt for more details.
というエラーが表示されます。
「時間をおいて試してね」という事ですが、
サイトを見ると
ドメイン毎に50個の制限
など、いろいろと制限があります。
上記のエラーが出たら、慌てず、時間をおいて試しましょう