サーバ

nginxリバースプロキシの設定

前提

nginxとか既に入っている想定。

設定

設定があるディレクトリへ移動

cd /etc/nginx/sites-available/

設定を行うドメイン名のファイルを作成
今回は、このあと Let’s encrypt で SSL 化を行う想定で、HTTP に関する設定のみ書いている。

server {
    listen 80;
    server_name <ドメイン名>;

    location / {
        proxy_pass http://localhost:8080;  # 転送先のバックエンドサーバを指定
        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;
    }
}

headerの設定はベストプラクティスらしい。

有効な設定ファイルとしてシンボリックリンクを貼る

sudo ln -s /etc/nginx/sites-available/<ドメイン名> /etc/nginx/sites-enabled/

Let’s encrypt で SSL 化
初回にはいろいろ聞かれるはず。ウィザードに従えばいいが、このとき外部からちゃんとこのサーバに 80, 443 ポートでアクセスできることが必要。

sudo certbot --nginx -d <ドメイン名>

構文チェック & 設定反映

sudo nginx -t
sudo systemctl reload nginx

コメント