Ubuntu 20.04でNginxでリバプロとSSL設定をよく行うのでメモ
まずはnginxとcertbotをインストールする
$ sudo apt install nginx certbot python3-certbot-nginx -y
続いてLetsEncryptの証明書を取得
$ sudo certbot --nginx -d hoge.example.com
諸々質問に答えてSSLインストール完了。
そして リバプロ設定を /etc/nginx/sites-available/default に記入する。
しかし、以降certbotが証明書更新をする時にはHTTP80番ポートを使って更新するので、リバプロ設定はSSL443番だけにしておいた。
server { #80番用 listen 80; server_name _; #中略 } server { #443番用 listen 443 ssl; server_name hoge.example.com; location / { proxy_pass http://localhost:8080; proxy_pass_request_headers on; } #以下証明書設定など # }
そしてnginxを再起動
$ sudo systemctl restart nginx
これでHTTPはそのままnginxのhtmlコンテンツを見せて、HTTPSの443番だけをlocalhost:8080に転送する。