当前位置:  开发笔记 > 后端 > 正文

带有SSL的Apache名称虚拟主机

如何解决《带有SSL的Apache名称虚拟主机》经验,为你挑选了2个好方法。

我正在尝试设置我们的服务器以允许通过SSL进行流量.我知道SSL不适用于Name Virtual Host,但是我们在具有专用私有IP的虚拟机上拥有所有apache服务器.我们有一个主虚拟机,它具有mod_proxy设置,可以将流量路由到适当的vms.

但是,为了路由https流量,我们需要在代理和vms上安装证书.我们有一个可以在所有主机上使用的通配符证书.一切似乎都正常工作,但我在代理的apache日志中收到以下内容:

[警告]初始化:SSL服务器IP /端口冲突:host1.domain.com:443(/ etc/apache2/sites-enabled/host1:1)与host2.domain.com:443(/ etc/apache2/sites-启用/主机2:1)

我们在代理上设置的每个主机都有一条错误消息.我们的代理虚拟主机设置如下:


    ServerName host1.domain.com
    ProxyPreserveHost On
    ProxyRequests Off
    ProxyPass / https://privateip:443/
    ProxyPassReverse / https://privateip:443/

    SSLProxyEngine on
    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/server.crt
    SSLCertificateKeyFile /etc/ssl/private/server.key

有什么方法可以让这个工作吗?



1> David Z..:

听起来Apache警告你有多个具有相同IP地址和端口的部分......只要让它在没有警告的情况下工作,我认为你需要使用像服务器名称指示(SNI)这样的方式识别作为SSL握手的一部分请求的主机名.基本上它允许你通过SSL进行基于名称的虚拟主机,但我不确定浏览器是否支持它.除了像SNI这样的东西,你基本上只限于一个支持SSL的域名,用于你公开上网的每个IP地址.

当然,如果您能够正确访问网站,您可能会忽略警告.这些特别的不是很严重 - 它们主要表明如果遇到问题需要注意什么



2> 小智..:

据我所知,自2.2.12版以来,Apache支持SNI.遗憾的是,文档尚未反映出这种变化.

转到http://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI,直到完成

推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有