2017-07-11 40 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