我正试图在eclipse中运行tomcat上的一个servlet。当我在服务器上运行时,servlet运行并为我提供如下链接:
“HTTP://本地主机:8443 / AuthServer /服务器”
我已按如下方式为SSL配置了Tomcat服务器:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="C:\Users\owner\.keystore" keystorePass="sheetalkshirsagar">
当我在服务器上运行servlet时,它仍然使用http。 我希望我的servlet链接为“https:// ...”而不是“http:// ..”。你是怎么做到的?
答案 0 :(得分:6)
如果您希望在向该servlet发送请求时确保使用https协议,则需要更改Web应用程序中的WEB-INF/web.xml
文件。
在您的情况下添加此配置参数:
<security-constraint>
<web-resource-collection>
<web-resource-name>AuthServer</web-resource-name>
<url-pattern>/Server</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
答案 1 :(得分:4)
在TOMCAT_HOME/conf
文件夹中,有一个名为web.xml
的文件。在那里,您必须添加security-constraint
元素。
<security-constraint>
<web-resource-collection>
<web-resource-name>secured page</web-resource-name>
<url-pattern>/...</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
确保<url-pattern>
与您希望获得保护的路径相匹配。
答案 2 :(得分:0)
如果我正确理解您的问题,您将从您的servlet提供的网页发布http
的网址。
如果您需要将请求更改为https
,则应该redirect
您的普通http
连接器(在端口80
或8080
中)端口443
的连接器。
如果你谷歌tomcat redirect http to https
,你会发现很多链接,例如redirect tomcat to https
但如果您对真正的安全感兴趣,我会建议您不要重定向