You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Tomcat 9.0.73中正确配置CSP,使其头信息在开发者工具中可见?

解决Tomcat 9.0.73中CSP头无法在开发者工具显示的问题

首先明确两个核心点:

  • 你用的<meta>标签配置的CSP,不会出现在HTTP响应头里,它属于HTML层面的配置,要验证的话得去开发者工具的「元素」面板找对应的meta标签。
  • 你的meta标签本身存在语法错误,这也会导致它不生效:
    • imag src是拼写错误,正确写法是img-src
    • self需要用单引号包裹
    • 指令之间要用分号分隔,不是逗号
      修正后的meta标签应为:
    <meta http-equiv="Content-Security-Policy" content="default-src 'self'; img-src 'self'">
    

如果你的需求是让CSP出现在HTTP响应头中(即开发者工具「网络」面板的响应头里能看到),请使用以下两种Tomcat配置方式:

方法一:通过Tomcat自带过滤器配置(全局生效)

在项目的web.xml中添加如下过滤器配置:

<filter>
    <filter-name>CspFilter</filter-name>
    <filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
    <init-param>
        <param-name>contentSecurityPolicy</param-name>
        <param-value>default-src 'self'; img-src 'self'</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>CspFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

配置完成后重启Tomcat,访问项目时就能在网络面板的响应头中看到Content-Security-Policy字段。

方法二:在代码中设置响应头(局部生效)

如果只想给特定页面配置CSP,可以在JSP或Servlet中直接设置响应头:

  • JSP页面中添加:
    <% response.setHeader("Content-Security-Policy", "default-src 'self'; img-src 'self'"); %>
    
  • Servlet中添加:
    response.setHeader("Content-Security-Policy", "default-src 'self'; img-src 'self'");
    

内容的提问来源于stack exchange,提问作者May Yeung

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 17:45:02