我正在尝试在 Kubernetes 1.20.2(本地)上测试 Istio 1.9
首先,当 Nginx proxy_pass 有 fqdn 的服务用于 tomcat 部署时
location / {
proxy_pass http://tomcat.default.svc.cluster.local:8080;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
虽然显示 404 错误,但它不起作用,我在 Nginx pod 中的 tcpdump 中找不到任何指向 tomcat 的 tcp 数据包。
其次,如果我将proxy_pass中的fqdn改为clusterIP或tomcat pod的pod IP,效果很好。
最后,如果我删除注入到 nginx 中的 istio sidecar(envoy),它可以与 proxy_pass 中的 fqdn 一起使用。
在这种情况下,当 fqdn 与 envoy 一起使用时,为什么 proxy_pass 不起作用?带有特使的 Nginx 是否有任何必需的配置?
我可以预期 fqdn 是常用的,因为 clusterIP 可以更改。