0

我将 Apache 设置为反向代理,让 https 访问托管在我们 Intranet 上的服务。

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.conf的行中。SSLCertificateFile /etc/pki/tls/certs/localhost.crt<VirtualHost _default_:443>

我期待我更具体的 VirtualHost 覆盖默认设置,但似乎情况并非如此。我应该怎么做才能正确覆盖 SSLCertificateFile 指令。

谢谢

4

1 回答 1

3

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

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

于 2013-02-12T10:40:11.643 回答