播放框架自定义 headers 已忽略

Play framework custom headers ignored

我有这个非常简单的播放控制器:

@Singleton
class Application @Inject()(cc: ControllerComponents) extends AbstractController(cc) {
  def index = Action {
    Ok(views.html.index(SharedMessages.itWorks))
      .withHeaders("Content-Security-Policy" -> "script-src 'unsafe-eval'")
  }
}

但是添加的header被忽略了。呈现页面中的内容安全策略是默认的:

Content-Security-Policy: default-src 'self'

这是为什么?

您是否启用了 Play! 的安全过滤器?在这种情况下,您必须在 application.conf 配置文件中设置 CSP header 而不是手动添加它。

详情见Play! SecurityHeaders