設定

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;
        }
    }
}