Ram*_*sXu 8 nginx kubernetes kubernetes-ingress nginx-ingress
我\xe2\x80\x99\xe2\x80\x99m想知道\xe2\x80\x9c如何将Nginx IP附加到X-Forwarded-For\xe2\x80\x9d
\n\n我在 Ingress 注释中添加了片段。
\n\napiVersion: networking.k8s.io/v1beta1\nkind: Ingress\nmetadata:\n name: ing\n annotations:\n nginx.ingress.kubernetes.io/configuration-snippet: |\n proxy_set_header X-Forwarded-For "$remote_addr, $server_addr";\n
Run Code Online (Sandbox Code Playgroud)\n\n但它似乎在 nginx.conf 中进行了双重设置。
\n\n proxy_set_header X-Forwarded-For $remote_addr;\n...\n proxy_set_header X-Forwarded-For "$remote_addr, $server_addr";\n
Run Code Online (Sandbox Code Playgroud)\n\n所以我的后端服务器将得到两个X-Forwarded-For
有人知道\xe2\x80\x9c如何禁用Nginx Ingress Controller\xe2\x80\x9d生成的proxy_set_header部分吗?
\n\n proxy_set_header X-Request-ID $req_id;\n proxy_set_header X-Real-IP $remote_addr;\n\n proxy_set_header X-Forwarded-For $remote_addr;\n\n proxy_set_header X-Forwarded-Host $best_http_host;\n proxy_set_header X-Forwarded-Port $pass_port;\n proxy_set_header X-Forwarded-Proto $pass_access_scheme;\n\n proxy_set_header X-Scheme $pass_access_scheme;\n
Run Code Online (Sandbox Code Playgroud)\n
小智 8
接受的答案对我不起作用。您只需将以下注释添加到入口对象即可;
\nnginx.ingress.kubernetes.io/configuration-snippet: |\n more_set_headers "X-Forwarded-For $http_x_forwarded_for";\n
Run Code Online (Sandbox Code Playgroud)\n供测试用;
\n\xe2\x9d\xaf curl -I https://example.com/path/here\n\nHTTP/1.1 200 OK\ncache-control: no-cache, no-store, max-age=0, must-revalidate\nDate: Sat, 13 Mar 2021 08:52:02 GMT\nexpires: 0\npragma: no-cache\nvary: Origin,Access-Control-Request-Method,Access-Control-Request-Headers\nX-Forwarded-For: 88.888.8.8\nConnection: keep-alive\n
Run Code Online (Sandbox Code Playgroud)\n
对于遇到类似问题并最终来到这里的人来说,如果您使用 Helm部署ingress-nginxcompute-full-forwarded-for
控制器,则另一种(可能更干净)的解决方案是use-forwarded-headers
在true
您的values.yml
. 不需要在 Ingress 中进行额外的配置(如问题中的配置)。
归档时间: |
|
查看次数: |
44874 次 |
最近记录: |