リバース プロキシ - nginx フロントエンド リバース プロキシ、バックエンド Apache はどのようにして訪問者の実際の IP を取得しますか?
阿神
阿神 2017-05-16 17:04:55
0
5
508

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-...
私も同じ問題に遭遇しました、アドバイスをお願いします、ありがとう

阿神
阿神

闭关修行中......

全員に返信 (5)
给我你的怀抱

この記事では、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
    淡淡烟草味

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

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

    いいねを押す+0
      我想大声告诉你

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

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

      いいねを押す+0
        phpcn_u1582

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

        いいねを押す+0
          刘奇

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

          いいねを押す+0
            最新のダウンロード
            詳細>
            ウェブエフェクト
            公式サイト
            サイト素材
            フロントエンドテンプレート
            私たちについて 免責事項 Sitemap
            PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!