0

HAProxy、Apache、Nginx、Lighttpd などのかなりの数のフロント エンド プロキシをテストしましたが、トルネード バックエンド サーバーのログでは、フロント エンド サーバーがアクセスしているだけです。つまり、訪問しているクライアントから実際の IP を知りたいので、ログ アナライザーは 1 よりも多くの訪問を得ていると考えています。

これを行う最も簡単な方法は何ですか?

バックエンドは tornado python、フロントエンドは上記のいずれでもかまいませんが、現在 nginx を構成しています。

4

1 に答える 1

0

いくつかのオプションがあります。実装する最も簡単な方法は、単純に x-forwarded-for ヘッダーを使用することです。

http://en.wikipedia.org/wiki/X-Forwarded-For

haproxy で x-forwarded-for を有効にするには、以下を追加するだけです。

オプション forwardfor

http://cbonte.github.io/haproxy-dconv/configuration-1.4.html#4.2-option%20forwardfor

x-forwarded-for ヘッダーを消費したくない場合は、tornado に実装された「PROXY プロトコル」をプッシュするか、gunicorn のようなものを使用してみてください。http://gunicorn.org/ . PROXY プロトコルは、元の L4 情報を L7 データの末尾に追加することによって機能します。受信サーバーは、PROXY プロトコルを理解する必要があります。そうしないと、単に破損したパケットのように見えます。

于 2013-08-05T13:41:08.393 に答える