2017-09-07 7 views
0

nginx fastcgi_param REMOTE_ADDRがまったく設定されていないと、PHPの$ _SERVER ['REMOTE_ADDR']の中に何がありますか? nginxとphp-fpmを使用して、2つのサーバーの動作が異なります。両方の構成はまったく同じです。しかし、新しいip値を持つ$ _SERVER ['REMOTE_ADDR']を常に返します。また、nginxのfastcgi_param.confファイル内にREMOTE_ADDR指令がなく、期待通りに何も返しません。 は、私は他のconfigsを含んでいませんが、すべてだだけ

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
fastcgi_param QUERY_STRING  $query_string; 

を持っています。しかし、PHPの$ _SERVER ['REMOTE_ADDR']は常に新しい値を持っています。

+0

あなたが求めているものは正確ではありませんが、 '$ _SERVER ['REMOTE_ADDR']'は通常、あなたのウェブサーバーではなくリクエストを行っているサーバー/システム/コンピュータのアドレスです。 – aynber

+0

これが何らかのヘルプであるかどうかを確認するhttps://stackoverflow.com/questions/25929599/nginx-replace-remote-addr-with-x-forwarded-for –

答えて

0

答えは:fastcgi_param.confファイルが空ではなく、REMOTE_ADDRディレクティブがあります。そしてその理由は、PHPコードではなく、nginxであった。

P.S. Unixでnewbyeになるという悪い考え。あなたがsudoにいなくてvimを使っているなら、ルート所有ファイルが空であることがわかります。

関連する問題