相信大家
我的Web应用程序在tomcat 6.0.43上运行,并且前面不使用apache或nginx。
我已经使用以下命令将我的网站从http重定向到https:
<% response.sendRedirect("https://www.epi.com.my/portal/"); %>
<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>
在何处添加以下代码
标头添加严格运输安全性“ max-age = 15768000”
或tomcat没有此功能吗?或者我需要在每个Java Web应用程序控制器中进行修改。
您可以使用过滤器添加它。将以下代码段添加到web.xml:
<filter> <filter-name>HSTSFilter</filter-name> <filter-class>security.HSTSFilter</filter-class> </filter>
然后在您的Web应用程序中创建一个过滤器:
package security; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletResponse; public class HSTSFilter implements Filter { public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletResponse resp = (HttpServletResponse) res; if (req.isSecure()) resp.setHeader("Strict-Transport-Security", "max-age=31622400; includeSubDomains"); chain.doFilter(req, resp); } }
也可以使用全局web.xml(conf / web.xml)添加过滤器。