如何在 Tomcat web.xml 中添加标头?
Posted
技术标签:
【中文标题】如何在 Tomcat web.xml 中添加标头?【英文标题】:How do I add headers in Tomcat web.xml? 【发布时间】:2017-05-10 16:24:39 【问题描述】:我们正在为我们的网站添加安全标头,并且正在尝试使用可用的选项。我们已经修复了 Apache 服务器中 httpd.conf 文件下的安全标头。
现在我们正在更新我们在 tomcat 上运行的网站的安全标头,我们在网上冲浪后尝试使用 goolge 上可用的选项。
我们需要更新我们网站的以下标题,任何人都可以帮助我们。
Strict-Transport-Security
Content-Security-Policy
X-Frame-Options
X-XSS-Protection
X-Content-Type-Options
【问题讨论】:
【参考方案1】:使用
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<filter>
<filter-name>httpHeaderSecurity</filter-name>
<filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
<init-param>
<param-name>hstsEnabled</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>hstsMaxAgeSeconds</param-name>
<param-value>2592000</param-value>
</init-param>
<init-param>
<param-name>hstsIncludeSubDomains</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>antiClickJackingEnabled</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>antiClickJackingOption</param-name>
<param-value>SAMEORIGIN</param-value>
</init-param>
<init-param>
<param-name>blockContentTypeSniffingEnabled</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>xssProtectionEnabled</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<init-param>
<param-name>cors.allowed.origins</param-name>
<param-value>/*</param-value>
</init-param>
<filter-mapping>
<filter-name>httpHeaderSecurity</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>ExpiresFilter</filter-name>
<filter-class>org.apache.catalina.filters.ExpiresFilter</filter-class>
<init-param>
<param-name>ExpiresDefault</param-name>
<param-value>access plus 1 days</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>ExpiresFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<error-page>
<location>/index.html</location>
</error-page>
</web-app>
【讨论】:
这似乎没有启用Content-Security-Policy
标头?以上是关于如何在 Tomcat web.xml 中添加标头?的主要内容,如果未能解决你的问题,请参考以下文章
idea中添加web.xml配置文件与tomcat启动中遇到的web.xml文件找不到的问题
xml 禁用xframes在web.xml中添加此项(如果yeoman使用yo web.xml)。在tomcat中我们可以在/ opt / tomcat / webapps / ROOT / WEB-