2017-07-11 103 views
1

我目前擁有運行Web服務的Tomcat 7服務器。 我已經啓用2路SSL在server.xml中啓用了SSL的Tomcat上的非SSL Web服務

<Connector port="8443" 
maxThreads="500" 
scheme="https" 
secure="true" 
SSLEnabled="true" 
keystoreFile="tomcat_keystore.jks" 
keystorePass="*******" 
truststoreFile="tomcat_truststore.jks" 
truststorePass="*****" 
clientAuth="true" 
keyAlias="tomcat" 
redirectPort="8080" 
sslProtocol="TLS"/> 

直接連接到HTTPS Web服務工作正常。 但是當我通過Load Balancer調用它時,它會失敗,因爲當前的運行狀況檢查失敗(因此它認爲Web服務已關閉)。 如果此運行狀況檢查通過,則負載均衡器將僅將請求轉發給Tomcat服務器。 當前運行狀況檢查僅調用HTTPS GET方法,並且期望200 OK。

我知道我可以通過在負載平衡器安裝證書此解決,但我不想這樣做,因爲我只需要驗證: 1)如果盒子是啓動和運行 2)如果tomcat服務器啓動並運行

是否有可能在同一個tomcat服務器上可以通過HTTP GET(無SSL)調用同時運行另一個Web服務?我可以將它添加到Load Balancer運行狀況檢查中?

回答

1

是的,這是可能的。但是不在同一端口

您必須配置另一個連接器。

+0

如果我在端口8080的server.xml中添加另一個連接器,tomcat將如何知道它是用於哪個Web服務?因爲我希望Web服務之一是SSL,而新服務(負載均衡器)是非SSL – faadi

+0

SSLEnabled =「true」屬性告訴它它是否使用SSL。爲連接器配置適當的值。 – talex

+0

謝謝@talex我只需要在另一個端口上指定另一個連接器。 – faadi