Let’sEncryptの自動更新がエラーになる
現象
更新で下記のエラーでストップ
To fix these errors, please make sure that your domain name wasentered correctly and the DNS A/AAAA record(s) for that domain contain(s) the right IP address.
翻訳してみると、
これらのエラーを修正するには、ドメイン名が正しく入力され、そのドメインのDNS A / AAAAレコードに正しいIPアドレスが含まれていることを確認してください。
なんだなんだ???
サイトには普通にアクセスできてるし、なんだろね。。。
/public_html/.well-known/acme-challenge/がなんちゃら。。。
.well-known は、自動で作られる模様。
原因
nginxの定義ファイルで http → https へのリダイレクトをしてたのが原因でした。
http にアクセスしてきても、すべて https へ転送したく、サーバーの定義ファイルを使っていました。
解決
手っ取り早いのは https へのリダイレクトを外すこと。
でも、ただはずすだけだと、本来の目的だった http に来た人を https へ誘導することができなくなっちゃう。
さてってなやんでたところ、下記の記事に遭遇!!
Let’s Encryptの自動更新と通常のアクセスに対するリダイレクトを両立する(nginx)
/public_html/.well-known/acme-challenge/へのアクセスが来たときはリダイレクトさせない。
言われてみれば(^^;
1 2 3 4 5 6 7 8 9 10 11 |
server { listen 80; server_name example.com; location ^~ /.well-known/acme-challenge/ { default_type "text/plain"; root /opt/example.com/public_html; } location / { return 301 https://$host$request_uri; } } |
このあと、
# systemctl restart nginx
でNginxを再起動して、certbotを流して、動作確認をしました。
Googleさんから言われて、ほぼSSLのみの運用になってるんで、こんなふうに http が必要なときって、慌ててしまいます。
言われれば気がつくんでが、それまでは悩みまくるってのが多いです(^^;