使用 Nginx 的 SSL 直通

标签 ssl nginx kubernetes

我已经设置了一个 Nginx Ingress 来代理流量到我使用 kubeadm 设置的 Kubernetes 集群。这似乎运作良好。

在主机上(设置主节点的地方)我有许多其他服务正在运行,这些服务正在由另一个 Nginx(面向公众)代理。

我想要实现的是将所有流量从第一个 Nginx(面向公众)路由到集群中运行的 Nginx 到特定域(指向集群)。

Internet -----> Nginx Public -----> Nginx Ingress -----> Cluster

Nginx Ingress 正在监听 TLS/SSL 流量。

所以我想通过公共(public) 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;
    }
}

最佳答案

你需要添加

proxy_set_header Host $host; 

在您的 proxy_pass block 中。这是必需的,以便服务器知道您正在尝试查看哪个虚拟主机

关于使用 Nginx 的 SSL 直通,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51057637/

相关文章:

node.js - Nodejs + Hapi + SSL/TLS + OATH2 + JWTs 作为承载

.htaccess - 是否可以同时重定向到 ssl 和非 www?

nginx 中的 phpmyadmin 404 错误

php - Nginx Wordpress 无法访问博客文章但可以访问主页

apache - 具有 SSL (https) 和粘性 session 的 HAProxy

go - 如何使用 golang 客户端从 Kubernetes 中驱逐或删除 Pod

.htaccess - htaccess 和 SSL 代理

ios - swift : Adding SSL key to URLRequest

kubernetes - 无法让Metallb在我的裸机集群上工作

cassandra - 是否可以在具有多个数据中心的 cassandra 集群中拥有 "local" key 空间