一尘不染

仅将HTTPS用于基于servlet的webapp中的某些页面

tomcat

我在Tomcat
6服务器上运行了一个基于servlet的webapp。URL方案是HTTPS。整个站点当前都在HTTPS上提供服务。但是我真正想做的是仅针对某些操作(例如购买和登录)设置HTTPS。Tomcat中是否有任何配置可以帮助我轻松地做到这一点?

要在HTTPS和HTTP上保持会话持久,是否需要进行任何代码更改?


阅读 253

收藏
2020-06-16

共1个答案

一尘不染

实际上,理想情况下,这是在Web应用程序的web.xml文件中配置的。您只需指定某些URL即可安全,<security-constraint><web- resource-collection>并将HTTPS要求指定为<transport- guarantee>CONFIDENTIAL。容器将透明地管理重定向。简单。

<security-constraint>
  <web-resource-collection>
     <web-resource-name>My Secure Stuff</web-resource-name>
     <url-pattern>/some/secure/stuff/*</url-pattern>
     <url-pattern>/other/secure/stuff/*</url-pattern>
     ...
  </web-resource-collection>
  <user-data-constraint>
     <transport-guarantee>CONFIDENTIAL</transport-guarantee>
  </user-data-constraint>
</security-constraint>
2020-06-16