【问题标题】:AWS load balancer always routes 443 to 8443AWS 负载均衡器始终将 443 路由到 8443
【发布时间】:2015-10-08 02:00:07
【问题描述】:

我正在运行 tomcat 7 的 ec2 实例上提供内容。我将 tomcat 配置中的所有流量路由到 8443 并安装了有效证书。当我明确输入https://website.com:443 时,站点加载正常,但是当我输入http://website.com 时,它应该使用端口443 路由到https,但它使用端口8443。任何人都知道为什么会发生这种情况?我在另一台服务器上有完全相同的配置,但我有两台不想运行的新服务器。

在我的 tomcat server.xml 我有:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"
               sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2"
               ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
               TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
               TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_RC4_128_SHA,
               TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,
               TLS_RSA_WITH_AES_256_CBC_SHA,SSL_RSA_WITH_RC4_128_SHA"
               keystoreFile="conf/cert.p12"
               keystorePass="password"
               keystoreType="PKCS12" />

在 web.xml 中:

<security-constraint>
 <web-resource-collection>
 <web-resource-name>Protected Context</web-resource-name>
 <url-pattern>/*</url-pattern>
 </web-resource-collection>
 <!-- auth-constraint goes here if you requre authentication -->
 <user-data-constraint>
 <transport-guarantee>CONFIDENTIAL</transport-guarantee>
 </user-data-constraint>
 </security-constraint>

【问题讨论】:

    标签: ssl amazon-web-services amazon-ec2 https load-balancing


    【解决方案1】:

    找到了一个答案,原来我必须通过 TCP 将所有流量从 8443 路由到 8443。客户端请求端口 80,根据我的负载均衡器配置路由到 8080,以便 tomcat 提供内容,tomcat 正在转向请求到请求端口 8443。

    8443 没有被路由回 tomcat 服务器上的 8443,所以它最终陷入了死胡同。希望有一天这对其他人有所帮助。

    【讨论】:

    • 如果这解决了您的问题,请接受答案(即使您回答了自己的问题)。
    【解决方案2】:

    Tomcat 在使用 transport-guaranteeCONFIDENTIAL 时发送重定向

    默认情况下,这是您的连接器端口。运行curl -vs http://website.com 进行确认。

    您可以将 http/8080 连接器 redirectPort 设置为 443 但这意味着您选择 ELB 重定向来工作。然后,本地 Tomcat 重定向将开始失败,因为 443 上没有本地监听,只有 ELB 会监听。

    【讨论】:

      猜你喜欢
      • 2019-07-16
      • 2021-08-10
      • 1970-01-01
      • 2018-11-19
      • 2014-12-18
      • 1970-01-01
      • 2018-04-14
      • 2017-07-31
      • 1970-01-01
      相关资源
      最近更新 更多