【发布时间】:2018-06-27 08:05:48
【问题描述】:
我已经设置了一个 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;
}
}
【问题讨论】:
-
请解释您的意思似乎不起作用?
-
如果 i
curl -iv https://foo.dev-new.test.co使用404到达 Nginx 入口默认后端控制器 -
不过,我可以
curl -ivk https://10.109.70.33 --header Host: foo.dev-new.test.co -
您需要在
proxy_pass块中添加proxy_set_header Host $host; -
是的,这就是缺少的。谢啦。随意将其添加为答案并标记它。
标签: ssl nginx kubernetes