我最近遇到了 nlb 的问题,在 lb 上使用带有 https 终止的 nlb 与重定向 http=>https 和 EKS 上的 ingress-nginx 一起工作是一次冒险。
现在,我想将 X-Forwarded 标头传递给 pod,但这会破坏 http=>https 重定向,我在 http 请求上得到 400。
在服务上,我尝试将服务与 http 或 tcp 协议,同样的事情。
将service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: "*"
标头添加到服务中,在所有目标上激活代理协议 v2,并use-proxy-protocol: 'true'
在 nginx 的 configmap 中激活会通过 308 重定向破坏 http-snippet:
http-snippet: |
server {
listen 2443;
return 308 https://$host$request_uri;
}
有没有人有办法让它可以使用带有所有好的标题和重定向工作的nlb?
编辑评论请求添加完整的工作配置
apiVersion: v1
kind: ConfigMap
metadata:
labels:
app.kubernetes.io/version: 0.41.0
app.kubernetes.io/component: controller
name: ingress-nginx-controller
data:
http-snippet: |
server {
listen 2443 proxy_protocol;
return 308 https://$host$request_uri;
}
proxy-real-ip-cidr: 10.4.0.0/16
use-forwarded-headers: 'true'
use-proxy-protocol: 'true'
compute-full-forwarded-for: 'true'