【问题标题】:non-SSL web service on SSL-enabled Tomcat启用 SSL 的 Tomcat 上的非 SSL Web 服务
【发布时间】:2017-12-15 18:51:19
【问题描述】:

我目前有运行 Web 服务的 Tomcat 7 服务器。 我在 server.xml 中启用了 2-way SSL

<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 服务的直接连接工作正常。 但是当我通过负载均衡器调用它时,它失败了,因为当前的健康检查失败(所以它认为 Web 服务已关闭)。 如果此健康检查通过,负载均衡器将简单地将请求转发到 Tomcat 服务器。 当前的健康检查只是调用 HTTPS GET 方法并期望 200 OK。

我知道我可以通过在负载均衡器上安装证书来解决这个问题,但我不想这样做,因为我只需要验证: 1) 如果盒子已启动并正在运行 2)如果tomcat服务器启动并运行

是否可以在同一个 tomcat 服务器上同时运行另一个可以通过 HTTP GET(无 SSL)调用的 Web 服务?我可以将它添加到负载均衡器健康检查中吗?

【问题讨论】:

    标签: java web-services tomcat ssl https


    【解决方案1】:

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

    您必须配置另一个连接器。

    【讨论】:

    • 如果我在 server.xml 中为端口 8080 添加另一个连接器,tomcat 将如何知道它用于哪个 Web 服务?因为我希望 Web 服务之一是 SSL,而新的(用于负载均衡器)是非 SSL
    • SSLEnabled="true" 属性告诉它是否使用 SSL。为您的连接器配置适当的值。
    • 感谢@talex,我只需要在不同的端口上指定另一个连接器。
    猜你喜欢
    • 2019-06-21
    • 2020-12-25
    • 2016-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-25
    • 1970-01-01
    相关资源
    最近更新 更多