将 k8s 入口主机规则与传入请求的 Host 标头进行匹配

问题描述 投票:0回答:1

我有 nginx 负载均衡器,它接受面向公众的请求,然后根据其配置,将这些请求转发到我的集群。然后入口匹配请求的主机和路径,并将这些进一步转发到集群的内部服务。

Nginx Load balancer -> Ingress -> internal services of cluster

这里我使用

proxy_pass
将请求从 NGINX 负载均衡器转发到 Ingress,并使用
$host
将 Host 标头设置为
proxy_set_header

现在的问题是入口与从 NGINX 负载均衡器传递的主机标头不匹配。有没有办法将 ingres 主机规则与从 NGINX 传递的主机标头相匹配?

kubernetes nginx kubernetes-ingress ingress-nginx
1个回答
0
投票

要将入口主机规则与从 NGINX 传递的主机标头匹配,您可以考虑使用注释。还要确保您的 NGINX 配置应正确设置主机标头。

您可以将 Kubernetes annotations 添加到特定 Ingress 对象以自定义其行为。

注释看起来像这样:

nginx.ingress.kubernetes.io/configuration-snippet: |
  more_set_headers "Request-Id: $req_id";

Ingress 资源可以使用基本的 NGINX 功能,例如基于主机或基于路径的路由和 TLS 终止。可以使用 Annotations 启用高级功能,例如重写请求 URI 或插入附加响应标头。

© www.soinside.com 2019 - 2024. All rights reserved.