【发布时间】:2017-08-19 11:14:45
【问题描述】:
我有一个子域 (test.XXXX.com) 指向接受 HTTP(80) 和 HTTPS(443) 请求的 AWS ELB。我已经为 HTTPS 连接配置了 443 的 SSL 证书。 我尝试通过更改 web.xml 和 server.xml 在 Tomcat 级别执行 HTTP 到 HTTPS 重定向,如
中所述但问题是我需要一个不执行 HTTP 到 HTTPS 重定向的 AWS ELB 运行状况检查端点。 我尝试了不同的解决方案,但没有成功。我也尝试过
<security-constraint>
<web-resource-collection>
<web-resource-name>Protected Context</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>Protected Context</web-resource-name>
<url-pattern>/XXXXX/XXXXXX.html</url-pattern>
</web-resource-collection>
</security-constraint>
我的服务器 server.xml 具有以下配置
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
<Connector port="443" maxThreads="2000" scheme="https" secure="true" SSLEnabled="true" keystoreFile="/home/XXXXX/XXXXX.keystore"
keystorePass="XXXXX" clientAuth="false" keyAlias="XXXX"
sslProtocol="TLS" protocol="org.apache.coyote.http11.Http11Protocol"/>
但是当尝试通过浏览器访问它时,它会给出 ERR_TOO_MANY_REDIRECTS 异常。
【问题讨论】:
-
对于健康检查,您是否厌倦了使用从重定向中排除的特定路由?
-
@Ashan 是的..这被排除在 HTTP 到 HTTPS 重定向之外并且工作正常。但是由于 ERR_TOO_MANY_REDIRECTS 导致其他页面无法访问
-
如果你已经为Tomcat配置了SSL证书,那么在你的负载均衡器上你可以使用
HTTPS 443 -> HTTPS 443 -
@DusanBajic 在这种情况下响应为 502
-
您好,您只需要在tomcat服务器上进行HTTP-> HTTPS重定向吗?
标签: tomcat ssl redirect amazon-ec2 amazon-elb