首页 > 解决方案 > 部署在 Elastic Beanstalk 中的 Jhipster 应用程序的 CSP 问题

问题描述

我的应用程序是非常直接的 Jhispter(带有Angular)应用程序,它使用mapbox和 google fonts作为外部库。我只是将它部署到Elastic Beanstalk。我用谷歌搜索并找到了一些答案,我应该只将index.html文件中的元数据标签更改为:

<meta http-equiv="Content-Security-Policy" content="default-src *;
    img-src * 'self' data: https:; script-src 'self' 'unsafe-inline' 'unsafe-eval' *;
    style-src  'self' 'unsafe-inline' *">

但它没有用。

我也在属性文件中启用了它,但似乎没有影响。

  cors:
    allowed-origins: "*"
    allowed-methods: "*"
    allowed-headers: "*"
    exposed-headers: "Link,X-Total-Count"
    allow-credentials: true
    max-age: 1800

在此处输入图像描述

标签: angularamazon-elastic-beanstalkjhipstercontent-security-policy

解决方案


CSP也是像CORS一样具有挑战性的网络安全。

Jhipster中,它是在 Spring boot 中配置的,所以我必须允许一些受信任的 url 并将我的 CSR 配置更改为:

.contentSecurityPolicy("default-src 'self'; frame-src 'self' data:; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.mapbox.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: *.amazonaws.com; font-src 'self' data:")

这个答案不是基于上面非常有用的评论


推荐阅读