违反内容安全政策,导致话语电子邮件激活不再起作用

时间:2019-06-25 23:13:02

标签: discourse

我使用自定义app.yml增强了话语能力,该自定义templates: - "templates/postgres.template.yml" - "templates/redis.template.yml" - "templates/web.template.yml" - "templates/web.ratelimited.template.yml" - "templates/web.socketed.template.yml" - "templates/sshd.template.yml" - "templates/cloudflare.template.yml" 使用cloudflare模板,如下所示:

./launcher bootstrap app &&\
./launcher start app

然后我像这样引导图像:

Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'unsafe-eval' 'report-sample' http://myfancydomain.com/logs/ http://myfancydomain.com/sidekiq/ http://myfancydomain.com/mini-profiler-resources/ http://myfancydomain.com/assets/ http://myfancydomain.com/brotli_asset/ http://myfancydomain.com/extra-locales/ http://myfancydomain.com/highlight-js/ http://myfancydomain.com/javascripts/ http://myfancydomain.com/plugins/ http://myfancydomain.com/theme-javascripts/ http://myfancydomain.com/svg-sprite/". Either the 'unsafe-inline' keyword, a hash ('sha256-T1n9N/v2ZUyCGncqaO0MgcESijK4iDg9nXYaamEO+bY='), or a nonce ('nonce-...') is required to enable inline execution.

然后我注册我的帐户,然后尝试单击我的论述页面上的激活链接,然后什么都没有发生。查看开发人员工具,我看到此错误:

@BeforeEach

我不知道此错误意味着什么-关于如何解决它的任何线索都很好。

1 个答案:

答案 0 :(得分:0)

您已包含cloudflare模板,这可能意味着您正在将其用于SSL。

但是您的CSP具有所有http方案而不是https。如果您通过https访问,但CSP却显示http,则表示不匹配。

如果是这种情况,您需要告诉Discourse它在https后面。试试:

SiteSetting.force_https = true

在Rails控制台上。