【发布时间】:2022-01-30 15:58:53
【问题描述】:
我最近在 Heroku 上将一个应用程序推向了生产环境。它是一个组合的 Ruby on Rails (API) 和 Angular 应用程序。
我将 Angular 版本推送到单独的隔离(仅限 Angular)Heroku 构建,并且图像和功能按预期工作。
在集成的 Angular Rails 版本中,我收到以下错误:
拒绝加载图像“https://i.ibb.co/R0VHJbd/ds.png”,因为它违反了以下内容安全政策指令:“img-src 'self' data: https://www. google-analytics.com”。
我只在要构建的组合 Angular Rails 上遇到此错误,而不是在仅 Angular 构建上。
我尝试添加<meta http-equiv 标签的几种组合,包括
<meta http-equiv="Content-Security-Policy"
content="
worker-src https:;
child-src https: gap:;
img-src 'self' https: data:;
default-src * 'self' 'unsafe-inline' 'unsafe-eval' data: gap: content:">
但是所有这些在渲染图像时仍然不起作用。
我正在使用符号链接为 Rails 渲染 /public 中的 Angular 部分
作为参考,这些是我的实时构建:
【问题讨论】:
-
看起来 rails 正在使用它自己的 CSP,你能确定
config/initializers/content_security_policy.rb中没有配置任何内容吗? -
Lik @Chris,我认为您必须检查 rails CSP。这个article 可以帮助你。祝你好运:)
标签: node.js ruby-on-rails angular heroku