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