通过 SNI 实现具有多个 SSL 证书的 Squid 反向代理

通过 SNI 实现具有多个 SSL 证书的 Squid 反向代理

代理服务器是否可以为其提供多个 SSL 证书?

我有一台服务器,上面有多个虚拟机,为不同的客户运行 Apache Web 服务器。作为向客户出售一个专用 IP 地址的经济替代方案,我至少想(解释后果并)为他们提供一个解决方案,使用在服务器机器的共享IP上。

假设我们有一个包含 4 个域的服务器:domain1a.comdomain1b.com和。域和由虚拟机中的同一 Apache 实例托管,其他两个域也是如此。每个虚拟机都有一个 NAT 转换的本地 IPv4 IP 地址,请求应该发送到domain2a.com该地址。domain2b.comdomaina1.comdomainb1.com

所有 HTTP(S) 请求都应通过缓存代理服务器,以提高速度并共享服务器 IP。因此,解决方案应提供 SSL 终止和 SNI。

2013 年的答案是这个问题指出 Squid 不支持 SNI。但是,自 Squid 3.5 以来,它支持 SNI,窥视并拼接

据我所知,Squid 的选项有

  1. 使用自签名 CA 并动态证书生成, 或者
  2. 使用具有多个 SAN 名称的证书,列出托管在(物理)服务器上的所有域。

(1) 显然不起作用,因为我们无法在每个网站访问者的计算机上安装自签名 CA 证书(谢天谢地!)。

(2)对我来说不起作用,因为它非常不灵活并且会泄露(物理)服务器机器上托管的每个域。

我是不是漏掉了什么?我可以为 Squid 提供多个 SNI SSL 证书吗?如果不可能,那么有哪些替代方案适合我的情况?

提前致谢!

答案1

不幸的是,答案仍然是否定的。目前的原因只是必要的最后几部分管道尚未存在。所有需要的组件都存在于 Squid-4 中,用于 TLS 拦截。但它们仍未以适合用于反向代理的方式连接起来。

相关内容