ホームページ  >  に質問  >  本文

リバース プロキシ - nginx フロントエンド リバース プロキシ、バックエンド Apache はどのようにして訪問者の実際の IP を取得しますか?

Nginx のアンチジェネレーションが記述されており、パラメーター転送のチェックに問題はありません:

リーリー

現在の問題は、私のバックエンド PHP プログラムが IP を取得するために変数 $_SERVER['REMOTE_ADDR'] に依存しているため、逆生成サーバーの IP を取得していることです。
バックエンドは Apache であり、仮想ホストであるため、バックエンドを変更する可能性は低いです。
バックエンド PHP プログラムは暗号化されており、変更できません。
ここで質問したいのですが、プログラムを変更せずに X-REAL-IP または HTTP_X_FORWARDED_FOR を REMOTE_ADDR に割り当てる方法はありますか?たとえば、php.ini を変更することでこれを実現できますか?
ありがとうございます。この質問は次の経由で hostloc に投稿されました: http://www.hostloc.com/thread-138304-...
私も同じ問題に遭遇しました、アドバイスをお願いします、ありがとう

阿神阿神2714日前551

全員に返信(5)返信します

  • 给我你的怀抱

    给我你的怀抱2017-05-16 17:06:55

    この記事では、nginx + Apache フロントエンドとバックエンドを使用して Web サイトを構築するときに訪問者の実際の IP を取得する方法について説明します (IP を取得するこの方法はより慎重です)。ただし、PHP プログラムを変更する必要もあります。 http://www.ithr.org.cn/blogs/blog1.ph...

    はは、方法を見つけました。この記事「mod_rpaf、Nginx バックエンドの Apache にインターネット IP を取得させます」を読んでください: http://www.ithr.org.cn/blogs/blog1.ph...

    返事
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-16 17:06:55

    この要件は少し厳しいです。AP を変更できる場合は、mod_rpaf; を使用してください。

    いいえ、単純にしてください。index.php を作成し、値 $_SERVER['REMOTE_ADDR'] を割り当ててから、実際の PHP コードを呼び出します。

    返事
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-16 17:06:55

    Apache での書き換えを設定します。この PHP が行うことは、すべての php リクエストを特定の php に書き換えることです。 リーリー

    または、下位レベルで転送するソフトウェア HAProxy を試してみてください。これには HTTP プロトコルが関与しないため、これらの HEADER の問題を考慮する必要はありません。

    返事
    0
  • phpcn_u1582

    phpcn_u15822017-05-16 17:06:55

    直接設定proxy_set_header REMOTE_ADDR $remote_addr;できないのですか?

    返事
    0
  • 怪我咯

    怪我咯2017-05-16 17:06:55

    $_SERVER['REMOTE_ADDR'] は変更できません。リクエストの送信元は次のとおりです。
    暗号化されたコードの上にシェルを追加し、前の方法で説明したように値を割り当てるのは良い方法です

    返事
    0
  • キャンセル返事