2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Let's Encryptの自動更新と通常のアクセスに対するリダイレクトを両立する(nginx)

Posted at

Debian9+nginx1.14.0

##問題
Let'sEncryptの自動更新をcertbotコマンドの--webrootで行っていたが
次のようなエラーが出ていることに気付いた。

IMPORTANT NOTES:

  • The following errors were reported by the server:
    Domain: example.com
    ......
    To fix these errors, please make sure that your domain name was
    entered correctly and the DNS A/AAAA record(s) for that domain
    contain(s) the right IP address.

##解決
運用しているドメインは2つ。
certbotは複数ドメインがあっても自動で全部確認してくれるが、
そのうち片方の.confファイル(nginx)に認証用のコードが抜けていた

example.conf
server {
    listen 80;
    server_name example.com;
    return 301 https://$host$request_uri;
    server_tokens off;
}

httpsにリダイレクトするようにしていた。
この機能は残したいので

server {
    listen 80;
    server_name example.com;
    location ^~ /.well-known/acme-challenge/ {
        default_type    "text/plain";
        root            /home/user/somedir;
    }
    location / {
        return 301 https://$host$request_uri;
    }
    server_tokens off;
}

^~は前方一致なので/.well-known/acme-challenge/から始まるパスで更新のアクセスがあればそれ用のrootへ誘導する。.well-known/~というのはcertbotのコマンドで指定により自動で作られるらしい。
それ以外はリダイレクト。

sudo service nginx restartして
certbotの動作確認

certbot renew --dry-run --webroot --webroot-path /home/user/somedir --post-hook "service nginx reload"
  • DRY RUN: simulating 'certbot renew' close to cert expiry
  • (The test certificates below have not been saved.)
    Congratulations, all renewals succeeded. The following certs have been renewed:
    /etc/letsencrypt/live/example.com/fullchain.pem (success)
    /etc/letsencrypt/live/some.example.com/fullchain.pem (success)

これで大丈夫だと思う。

###参考
Let's encrypt のWeb認証に失敗する場合の許可の通し方
話題の無料SSL証明書!Let’s Encryptで証明書の取得に失敗したときに確認すること
nginx連載5回目: nginxの設定、その3 - locationディレクティブ

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?