我一直在使用英镑运行mydomain.dk。 现在我已经购买了mydomain.no,mydomain.se和mydomain.eu的一些其他域和SSL证书。 我的旧configuration看起来大致是这样的:
ListenHTTPS Address 81.19.246.120 Port 443 Cert "/usr/local/etc/pound.keys/mydomain.dk.pem" Service BackEnd Address 10.0.10.10 Port 8080 End End End
在这里,我已经看到我可以在Service部分使用HeadRequire,但是我希望Host头部和Cert一起使用,理想的情况是
ListenHTTPS Address 81.19.246.120 Port 443 HostAndCert "mydomain.dk" "/usr/local/etc/pound.keys/mydomain.dk.pem" HostAndCert "mydomain.se" "/usr/local/etc/pound.keys/mydomain.se.pem" HostAndCert "mydomain.no" "/usr/local/etc/pound.keys/mydomain.no.pem" HostAndCert "mydomain.eu" "/usr/local/etc/pound.keys/mydomain.eu.pem" Service BackEnd Address 10.0.10.10 Port 8080 End End End
任何build议或线索,我怎么能做到这一点?
干杯
聂
编辑:是的,在http://www.apsis.ch/pound/我看到它不能做,一个IP pr SSL域是必需的。 有没有好的select,当我不能使用通配符SSL说mydomain。*?
在支持服务器名称指示之前,最好的select是获得统一通信证书 ,其中包含您需要在一个证书中保护的所有名称。
TLS有一个新的function来解决这个问题: 服务器名称指示 。 目前还没有得到广泛的支持。
这似乎是一个非常古老的故事,但我可以在这里带来一些解决scheme的元素:
我已经在英镑官方网站上看到他们的'2010年6月更新'英镑能够进行openssl SNI(服务器名称指示),这使得有可能build立一个https反向代理。
此外,在英镑邮寄名单(我完全无法注册:哦)我已经读过,有人用英镑完成了这个成功的SNI 。 我在Linux上,我的浏览器是sni能够通过检查报告。
但是,似乎只考虑了在configuration文件中指定的第一个证书。 实际上,我的问题与上面报告的完全相同:第一个证书显示给客户端,如果它与域名相关,那么很好,否则,不会再尝试更多的证书,并在客户端上显示警告浏览器。
我的configuration是这样的:
ListenHTTPS Address 172.23.1.2 Port 443 Cert "/etc/pound/ssl/wiki.pem" Cert "/etc/pound/ssl/frontend.pem" Service HeadRequire "Host: .*wiki.mydomain.net.*" BackEnd Address 192.168.0.110 Port 8080 End End Service HeadRequire "Host: .*mydomain.net.*" Backend Address 192.168.0.103 Port 8080 End End End
有谁知道如何强制每个证书进行检查,直到find适当的证书?
我很抱歉地说,据我所知,你只能有.mydomain.com你不能有mydomain。
我知道没有别的select,你必须有一个SSL的IP地址。
非常感谢您的回答,
关于wikipedia_SNI,这样的function是存在的。
不幸的是,所有的浏览器和操作系统不支持这一点,但正如我写的,我运行在一个操作系统和浏览器,这是允许的。 粗略地说,你必须在浏览器上运行,其中包括一个openssl库允许此function(Vista或更新版本)或实现它的浏览器(例如Firefox> 3)。
我所展示的例子似乎certificate了这样的想法是可能的。 这是我们想要实现的。