我无法正确设置tomcat重定向。我正在尝试为一个webapp设置tomcat,目前我拥有它以便所有端口8080的请求被重定向到8443上的SSL端口。这对于任何外部连接都很有效。它也适用于任何在内部连接的人,只要他们使用域名而不是本地IP。
问题是我有一些实用程序需要通过LAN连接到此Web应用程序。目前,他们都是通过与localIP:8080进行沟通来实现这一目标的。当发生tomcat重定向时,它们会被重定向到https://localIP:8443并进入无效的证书问题。
我想知道是否可以为来自外部IP的所有请求重定向到SSL,并允许LAN IP连接到非ssl端口8080.
server.xml中
<Connector port="8080" protocol="HTTP/1.1"
address="0.0.0.0"
connectionTimeout="20000"
redirectPort="8443" />
的web.xml
<security-constraint>
<web-resource-collection>
<web-resource-name>App_nmae</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
答案 0 :(得分:1)
一些想法:
设置一个额外的连接器,通过手工波浪魔法修复所有内容,并将“可信”应用程序指向http://localIP:8081
:
<Connector port="8081" secure="true" />
现在,限制对该端口的访问权限非常重要。最好的方法是使用防火墙,但您可以通过在配置中添加RemoveAddressFilter
来提高安全性。