我正在尝试在 Debian Wheezy 中运行 stunnel-4.53-1.1。我的配置 (/etc/stunnel/stunnel.conf) 的重要部分如下所示:
[https]
cert = /etc/ssl/certs/mydomain.pem
key = /etc/ssl/private/mydomain.key
accept = 443
connect = localhost:80
pty = no
[host1]
connect = localhost:80
sni = https:host1.mydomain.com
cert = /etc/ssl/certs/host1.mydomain.pem
key = /etc/ssl/private/host1.mydomain.key
[host2]
connect = localhost:81
sni = https:host2.mydomain.com
cert = /etc/ssl/certs/host2.mydomain.pem
key = /etc/ssl/private/host2.mydomain.key
当我访问 host1(使用最新的 Firefox)时,此配置可以正常工作。但是,如果我访问 host2,我会获得 host1 提供的证书,这会导致 Firefox 中出现警告。
如果我接受了错误的证书,Stunnel 无论如何都会将我连接到 localhost:80 而不是 localhost:81。
我使用两个虚拟 Apache 主机交叉检查了常规 SSL/SNI 设置。这里一切都按预期运行。
有人可以解释 stunnel 的这种行为吗,或者甚至知道如何修复它?
提前谢谢了