Mik*_*uso 11 ssl certificate virtualhost apache-2.2
我需要从单个 IP 托管多个带有 SSL 的 Apache 虚拟主机。
现在 - 我明白,因为 SSL 围绕着 HTTP 请求,所以在首先将公钥发送到客户端之前,无法知道正在请求哪个主机。这实质上打破了使用标准 SSL 证书的 SSL 虚拟主机的可能性。
我已获得统一通信证书 (UCC),也称为主题备用名称 (SAN) 证书。这允许我为多个域提供相同的证书。
我希望这是 Apache 为任何SSL 请求提供的证书- 然后在建立加密后让 Apache 像往常一样解析虚拟主机。
我应该如何为此配置Apache?我试图研究如何做到这一点,但我能找到的只是说这是可能的,但没有具体说明:
wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI
虽然 Apache 可以在看到请求中的主机名后重新协商 SSL 连接(并且确实如此),但在初始握手期间选择正确的服务器证书以用于匹配请求主机名为时已晚,导致浏览器警告/错误其中的主机名错误。
serverfault.com/questions/48334/apache-virtual-hosts-with-ssl
顺便说一句,在一个 IP 地址上可能有多个 SSL 安全的命名虚拟主机 - 我在我的网站上这样做 - 但它会在 Apache 日志中产生各种警告,并在浏览器中产生证书警告。对于需要看起来干净的生产站点,我当然不会推荐它。-大卫 7 月 31 日 4:58
www.digicert.com/subject-alternative-name.htm
虚拟主机 单个 IP 地址上的多个 SSL 站点。在单个服务器上托管多个启用 SSL 的站点通常需要每个站点具有唯一的 IP 地址,但具有主题备用名称的证书可以解决此问题。Microsoft IIS 6 和 Apache 都能够使用统一通信 SSL(也称为 SAN 证书)访问虚拟主机 HTTPS 站点。
请帮忙。
小智 13
我在我的 apache 2.2.14 实例上测试了这个,它工作正常:
使用 NameVirtualHost 指令(到ports.conf):
NameVirtualHost *:443
Run Code Online (Sandbox Code Playgroud)
定义你的虚拟主机:
<VirtualHost *:443>
ServerName www.siteA.com
DocumentRoot "/opt/apache22/htdocs/siteA"
SSLCertificateFile "/path/to/my/cert"
SSLCertificateKeyFile "/path/to/my/key"
</VirtualHost>
<VirtualHost *:443>
ServerName www.siteB.com
DocumentRoot "/opt/apache22/htdocs/siteB"
SSLCertificateFile "/path/to/my/cert"
SSLCertificateKeyFile "/path/to/my/key"
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
我使用此链接作为资源。
| 归档时间: |
|
| 查看次数: |
16369 次 |
| 最近记录: |