gpt4 book ai didi

ssl - 如何让nginx为多个虚拟主机做SSL透传?

转载 作者:太空宇宙 更新时间:2023-11-03 14:25:49 26 4
gpt4 key购买 nike

我有多个本地 https 服务器在不同的端口上运行,它们都有自己的证书。现在,我想使用 nginx 使这些 https 服务器在不同的主机名、端口 443 和安全的 ssl 下可用。

我当前每个主机名的配置看起来像

server {
listen 443 ssl;
server_name hostname1;

ssl_certificate /etc/nginx/hostname1.cert.pem;
ssl_certificate_key /etc/nginx/hostname1.privkey.pem;

location / {
proxy_pass ...
}
}

但是使用 listen 443 ssl; 指令强制我指定证书和 key 。相反,我想简单地传递来 self 的服务器的流量,这样我就不必在 nginx 中维护二级证书,并且我的本地环境更接近生产环境。

针对单个服务器,F.X.在 SSL Pass-Through in Nginx Reverse proxy? 中提供流解决方案然而,正如他/她指出的那样,因为它只是转发 TCP,所以无法查看主机名并使其适用于多个服务器。

还有其他方法吗?是否有一些基本的限制使它无法工作?

最佳答案

这里的魔法概念是Server Name Indication ,一个 TSL 扩展,它在 TSL Client Hello 中添加客户端所需的主机名,并允许服务器将连接映射到多个虚拟主机之一。

事实证明,F.X.的回答。已经过时了,Dave T. 有 a solution使用两个较新的 nginx 模块,ngx_stream_ssl_preread 和 ngx_stream_map。有关详细信息,请参阅他在此网络上的回答。

关于ssl - 如何让nginx为多个虚拟主机做SSL透传?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57322083/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com