これは特定の質問です。
Nginxサーバー(N1と呼びます)は:80でリッスンし、proxy_passでワニスに転送します。ワニスは127.0.0.1:6081でリッスンし、8080でNginx(N2)に転送します。N2はphp-fpmソケットと通信します。
N1 <> V <> N2 <> P
N1:
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_Host;
proxy_pass http://varnish/;
proxy_redirect off;
}
現在
$ _SERVER ['REMOTE_ADDR'] == '127.0.0.1'
望ましい
$ _SERVER ['REMOTE_ADDR'] == '実際のリモートアドレス'
これは具体的な答えです。 ;)
N1にx-forwarded-forを追加して、ニスとN2を通過させてfastcgiに送ることができます。
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
次に、fastcgiパラメータで:
fastcgi_param REMOTE_ADDR $http_x_forwarded_for;