2013-10-04 73 views
0

我已經安裝了tomcat並運行在使用https請求端口443(安裝了GeoTrust證書)的Ubuntu 12.04 LTS系統上。在一臺機器上使用SSL的Tomcat和Apache Web服務器

在同一臺機器,Apache2的迴應現在,我是給任務,以確保與SSL Apache2的運行以及在web應用(PHP)的80端口上。

請求,但使用不同的服務器證書。

這可能嗎? - 我的假設是「不」,因爲我不能讓兩臺服務器在同一個端口上進行偵聽,但我不太確定,到目前爲止還沒有找到任何有用的信息。

任何幫助將高度讚賞..

回答

0

這些天,你仍然有困難在單一接口/端口組合(例如0.0.0.0:443)服務於一個以上證書。如果你想爲HTTPS使用兩個獨立的端口,這是沒有問題的。如果你想綁定到不同的接口(例如1.2.3.4:443和4.3.2.1:443),這是沒有問題的。如果您希望它們都位於相同的接口/端口上,則必須依賴服務器名稱指示,這可能會或可能不會受到Web服務器版本和/或客戶端的支持。

如果你想要不同的證書,你可能也需要不同的主機名,所以也許你可以在機器上配置第二個接口。請注意,爲了啓用不同的接口,您不需要在計算機上安裝多個NIC:您的操作系統應該能夠使用不同的IP地址創建另一個接口,並仍共享該NIC。然後,您只需將DNS設置爲將每個主機名指向一個不同的IP地址,並確保將每個SSL VirtualHost綁定到正確的IP地址(而不是使用主機名稱爲0.0.0.0*)。

說實話,SNI是最容易做的事情:只要使用啓用了SSL的VirtualHosts(使用不同的證書),就可以按照您預期的方式工作,並查看服務器是否無故啓動。如果是這樣,你需要測試你的客戶,看看它是否會爲你的觀衆工作。對於SNI場景,我假設Apache httpd將處理所有SSL流量,並且您將使用類似mod_proxy_*mod_jk的代理來代理Tomcat。

對於拆分IP方案,可以做任何你想做的事情:在Tomcat中終止SSL,或者對所有內容使用httpd,對Tomcat使用動態內容代理。

+0

太棒了。謝謝!! – azraelAT

相關問題