2017-02-02 15 views
0

syslogトラフィックをnginxとロードバランシングしていますが、syslogサーバはIPアドレスから来るすべてのイベントをnginxロードバランサから見ています。 nginxの "proxy_pass"メソッドでソースIPをそのまま維持する方法を教えてください。Nginxロードバランサが元のIPアドレスを渡さない

nginx.conf(送信元IPは、nginxの年代として終わる)私は誰かが使用された別の答えで

events { 
    worker_connections 1024; 
} 
stream { 
    upstream logstash_servers { 
     server logstash-collector-01:514 max_fails=2 fail_timeout=5s; 
     server logstash-collector-02:514 max_fails=2 fail_timeout=5s; 
    } 
    server { 
     listen 514; 
     proxy_pass logstash_servers; 
    } 
} 

"proxy_bind $ REMOTE_ADDR透明;"しかし、私のsyslogサーバがを受け取っていないとしたら、 - 元のIPアドレスが間違っていた行を元に戻しました。

nginx.conf(何も上流のサーバに渡されませんます):

events { 
    worker_connections 1024; 
} 
stream { 
    upstream logstash_servers { 
     server logstash-collector-01:514 max_fails=2 fail_timeout=5s; 
     server logstash-collector-02:514 max_fails=2 fail_timeout=5s; 
    } 
    server { 
     listen 514; 
     proxy_pass logstash_servers; 
     proxy_bind $remote_addr transparent; 
    } 
} 
+0

https://www.nginx.com/blog/ip-transparency-direct-server-return-nginx-plus-transparent-proxy/ ステップこの記事に従ってください:ルートとして 1.変更nginxの設定(ファイル名を指定して実行ユーザとIPトランスペアレンシーヘッダを追加する 2. NginxサーバでIPTablesルールを変更する 3.アップストリームサーバにルートを追加 –

答えて

0

IPの透明性のためには、あなたがnginxのあなたのアップストリームサーバー上のデフォルトゲートウェイを確認する必要があります動作するように。元のクライアントIPをX-Forwarded-Forヘッダーに渡し、その代わりにログを記録する方が良いでしょう。

+0

X-Forwarded-Forは 'http'モジュールの内部を除いては使用できません。上記の私の設定では、 'proxy_add_x_forwarded_for $ proxy_add_x_forwarded_for'を' proxy_set_header X-Forwarded_for'に設定すると、私の他の 'proxy_pass'行の後にエラーが出ます:' 2017/02/03 03:46:37 [emerg] 1#1: "proxy_set_header "ディレクティブは/etc/nginx/nginx.conf:21には許可されていません nginx:[emerg] /etc/nginx/nginx.conf内の "proxy_set_header"指示はここでは許可されていません:21' – armani

0

proxy_pass行の後にproxy_bind $remote_addr transparent;を使用すると、nginxを透過プロキシにして元のIPアドレスを渡すことをお勧めします。これを有効にするには、 "main"コンテキスト(別名nginx.confの先頭、イベント{}、ストリーム{}などの外側)にuser root;を指定する必要があります。

+0

このnginx docsページは参考になりました:https://www.nginx.com/blog/ip-transparency-direct-server- return-nginx-plus-transparent-proxy / – armani

関連する問題