Apache httpd虚拟主机SSL证书

时间:2013-02-12 10:16:20

标签: apache ssl virtualhost

我正在将Apache设置为反向代理,以便https访问我们内部网上托管的服务。

Apache httpd正在运行,我已经设置了如下的虚拟主机。

NameVirtualHost *:443

<VirtualHost *:443>
    ServerName my.domain.com

    SSLEngine On
    SSLCertificateFile /etc/pki/tls/certs/my.domain.com.crt
    SSLCertificateKeyFile /etc/pki/tls/private/mykey.key

    ProxyPreserveHost On
    ProxyPass / http://128.0.0.120:8083/
    ProxyPassReverse / http://128.0.0.120:8083/

</VirtualHost>

我已经生成了自签名证书,并将文件放在/ etc / pli / tls / cert / ...中,但是当我浏览到此页面时,我被告知自签名证书机器名称,而不是VirtualHost中指定的名称。 /etc/httpd/conf.d/ssl.confSSLCertificateFile /etc/pki/tls/certs/localhost.crt包含了机器名称的证书,这一切都在<VirtualHost _default_:443>部分。

我希望我的更具体的VirtualHost能够覆盖默认设置,但是看起来并非如此。我该怎么做才能正确覆盖SSLCertificateFile指令。

由于

1 个答案:

答案 0 :(得分:3)

为了使您的配置按预期工作,您需要服务器和客户端都支持服务器名称指示。见:

https://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI