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に転送する。