Nginx的SSL直通

时间:2018-06-27 08:05:48

标签: ssl nginx kubernetes

我已经设置了一个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;
    }
}

1 个答案:

答案 0 :(得分:2)

您需要添加

proxy_set_header Host $host; 
在您的proxy_pass区块中

。这是必需的,以便服务器知道您要查找的虚拟主机