Nginx をアプリケーションのリバースプロキシとして設定し、無料の Let's Encrypt 証明書で HTTPS を自動化します。
このガイドは、Nginx がすでにインストールされていて (Nginx インストールガイドを参照)、VPS の IP を指すドメインがあることを前提としています。
- Certbot と Nginx プラグインをインストールします:
apt update && apt install certbot python3-certbot-nginx /etc/nginx/sites-available/myappにサイト設定を作成します。yourdomain.comとプロキシ先のポートはご自身の値に置き換えてください:
server { listen 80; server_name yourdomain.com; location / { proxy_pass http://127.0.0.1:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }- サイトを有効化して Nginx をリロードします:
ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/nginx -t && systemctl reload nginx - ポータルの上流ファイアウォールとローカルの両方で、ポート 80 と 443 を開放します:
ufw allow "Nginx Full" - 無料の SSL 証明書を取得します:
certbot --nginx -d yourdomain.com
Certbot が Nginx の設定を自動的に書き換え、HTTPS と HTTP から HTTPS へのリダイレクトを処理します。 - 自動更新が有効になっていることを確認します:
systemctl status certbot.timer
Certbot は証明書の有効期限前に自動で更新するため、手作業は不要です。
複数のドメイン: サイトを追加するたびに手順 2 から 5 を繰り返し、ドメインごとに別の設定ファイルを使用します。それぞれが個別の証明書を取得します。