AWS负载均衡器始终路由443到8443

时间:2015-10-08 02:00:08

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

我在运行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>

2 个答案:

答案 0 :(得分:1)

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

8443在tomcat服务器上没有被路由回到8443,所以它刚刚结束了。希望有一天能帮助别人。

答案 1 :(得分:1)

使用transport-guarantee CONFIDENTIAL

时,Tomcat会发送重定向

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

您可以将http / 8080连接器redirectPort设置为443,但这意味着您选择使用ELB重定向。然后本地Tomcat重定向将开始失败,因为没有任何内容在443上本地监听,只有ELB会这样做。