這些天,你仍然有困難在單一接口/端口組合(例如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使用動態內容代理。
太棒了。謝謝!! – azraelAT