設定
nginx.confのhttpの項目で、server項目を以下のように設定します。
http { ... ... server { server_name [ホスト名]; proxy_set_header Host $http_host; location / { proxy_pass http://[接続先ホスト名やIP]; } } }注意 以下のホスト名を設定している箇所が無いと、server_nameのエラーになる場合があります。
proxy_set_header Host ...
例 オプション-tで、nginx.confのテストを実施
# nginx -t nginx: [emerg] directive "server_name" is not terminated by ";" in /etc/nginx/nginx.conf:127 nginx: configuration file /etc/nginx/nginx.conf test failed
送信元IP
転送すると、送信元IPアドレスがリバースプロキシのIPになります。 そのため、送信先に送信元IPを送りたい場合、ヘッダーに送信元IPを追加する必要があり、X-Forwarded-For (XFF)ヘッダーを使う方法があります。
Nginxの公式ドキュメントに、X-Forwarded-Forの設定方法についての説明があります。
Nginxでは、$remote_addr または $proxy_add_x_forwarded_for で、送信元IPが指定できます。 $remote_ipを使った簡単な方法だと、以下のように指定する方法があります。
proxy_set_header X-Forwarded-For $remote_ip
$proxy_add_x_forwarded_for を使う場合は、以下のように指定できます。
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for
例 nginx.conf
http { ... ... server { server_name text.example.com; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { proxy_pass http://192.168.100.10; } } }