Nginx

Nginx 在設置前清除 X-Forwarded-For

  • February 19, 2021

在設置自己的 X-Forwarded-For 標頭之前,我可以在 nginx 配置中使用什麼來清除任何現有的 X-Forwarded-For 標頭?我目前正在使用 Nginx 在將流量傳遞到 HAProxy 以進行負載平衡之前終止 SSL。

現在,我有:

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

但是,這會將新的 IP 地址附加到任何現有 X-Forwarded-For IP 地址的末尾。有沒有辦法只保留 Nginx 看到的地址?

只是不要使用$proxy_add_x_forwarded_for- 它存在的全部目的是執行附加行為。

反而:

proxy_set_header X-Forwarded-For $remote_addr;

如果有人仍然有這個問題,你可以使用“more_clear_input_headers”來只保留 Nginx 看到的最後一跳的地址。

more_clear_input_headers "X-Forwarded-For";

查看來自 openresty 的文件: https ://github.com/openresty/headers-more-nginx-module#more_clear_input_headers

引用自:https://serverfault.com/questions/377210