我目前有以下问题。我有一个后端位于 nginx-ingress 控制器后面,该控制器用作 aws 中的负载均衡器。通常我应该通过标头 x-forwarded-for 或 x-real-ip 获取用户的真实 IP。然而,在我的例子中,这个 ip 总是指向入口控制器的 ip。我使用 terraform 来设置我的架构。
这是我目前的配置
resource "helm_release" "ingress_nginx" {
name = "ingress-nginx"
namespace = "ingress"
create_namespace = true
chart = "ingress-nginx"
version = "4.0.13"
repository = "https://kubernetes.github.io/ingress-nginx"
values = [
<<-EOF
controller:
service:
annotations:
service.beta.kubernetes.io/aws-load-balancer-type: nlb
admissionWebhooks:
enabled: false
EOF
]
}
data "kubernetes_service" "ingress_nginx" {
metadata {
name = "ingress-nginx-controller"
namespace = helm_release.ingress_nginx.metadata[0].namespace
}
}
data "aws_lb" "ingress_nginx" {
name = regex(
"(^[^-]+)",
data.kubernetes_service.ingress_nginx.status[0].load_balancer[0].ingress[0].hostname
)[0]
}
output "lb" {
value = data.aws_lb.ingress_nginx.name
}`
有人知道如何修复此配置中的标头吗?