我已经设置了一个Nginx Ingress来将流量代理到我用kubeadm
设置的Kubernetes集群。这似乎运作良好。
在主机(设置了主节点的主机)上,我正在运行许多其他Nginx(面向公众)代理的其他服务。
我要实现的是将所有流量从第一个Nginx(面向公众)路由到特定域(指向集群),再到集群中运行的Nginx。
Internet -----> Nginx Public -----> Nginx Ingress -----> Cluster
Nginx Ingress正在监听TLS / SSL流量。
所以我想通过公共Nginx将SSL流量传递给它。
我尝试了以下似乎没有用的方法。
upstream cluster {
server 10.109.70.33:443 max_fails=10 fail_timeout=10s;
}
server {
listen 80;
listen [::]:80;
listen 443;
listen [::]:443;
server_name *.dev-new.test.co;
access_log /var/log/nginx/cluster-access.log;
error_log /var/log/nginx/cluster-error.log;
location / {
proxy_pass https://cluster;
}
}
答案 0 :(得分:2)
您需要添加
proxy_set_header Host $host;
在您的proxy_pass
区块中。这是必需的,以便服务器知道您要查找的虚拟主机