2013-02-12 130 views
0

我將Apache設置爲反向代理,使https訪問託管在我們Intranet上的服務。Apache httpd虛擬主機SSL證書

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 /證書/ ......如上,但是當我瀏覽這個網頁,我是瞭解的機器名稱的自簽名證書,而不是VirtualHost中指定的證書。機器名稱的證書包含在/etc/httpd/conf.d/ssl.conf的行SSLCertificateFile /etc/pki/tls/certs/localhost.crt中,全部位於<VirtualHost _default_:443>部分。

我期待我的更具體的VirtualHost覆蓋默認設置,但它似乎並非如此。我應該怎麼做才能正確覆蓋SSLCertificateFile指令。

感謝

回答

3

爲了讓您的配置爲你想讓它,你需要在服務器和客戶端支持服務器名稱指示工作。請參閱:

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

+1

謝謝,看起來像我需要的東西。不幸的是,我在RHEL 5.2上,yum安裝了Apache httpd的2.2.3版本。我認爲我們會轉向6.3,所以一旦我有了新的環境,就會做出這些改變。 – jasg 2013-02-12 11:37:12