在使用 http-mock 的 Ember CLI 应用程序中配置 CSP
Configure CSP in an Ember CLI application which uses http-mock
我按照 http://www.ember-cli.com/#ember-data 上的建议将 http-mock 与 Ember CLI 一起使用。我了解 CSP 的基本概念,但我不了解它在 Ember CLI 应用程序中的配置。
如何配置我的应用程序以接受对 localhost:4200/api/
的请求以避免在开发过程中出现这种情况:
Content Security Policy violation: {
"csp-report": {
"document-uri":"http://localhost:4200/products",
"referrer":"",
"violated-directive":"style-src 'self'",
"effective-directive":"style-src",
"original-policy":"default-src 'none'; script-src 'self' 'unsafe-eval' localhost:35729 0.0.0.0:35729; font-src 'self'; connect-src 'self' ws://localhost:35729 ws://0.0.0.0:35729 http://0.0.0.0:4200/csp-report; img-src 'self'; style-src 'self'; media-src 'self'; report-uri http://0.0.0.0:4200/csp-report;",
"blocked-uri":"",
"source-file":"chrome-extension://alelhddbbhepgpmgidjdcjakblofbmce",
"line-number":1,"column-number":20481,"status-code":200
}
}
您可以通过编辑 config/environment.js
来调整您的内容安全策略。我相信你的情况,connect-src
与抛出的错误有关 (编辑:看起来 style-src
被违反了,可能是 Chrome Extension Awesome Screenshot)。添加 *
将允许它连接到任何东西。
var ENV = {
...
contentSecurityPolicy: {
'default-src': "'none'",
'script-src': "'self'",
'font-src': "'self'",
'connect-src': "'self' *",
'img-src': "'self'",
'style-src': "'self' *",
'media-src': "'self'"
}
}
或者更具体地说,您可以添加:
...
'connect-src': "'self' 'localhost:4200'",
...
此外,如果您只想将其添加到您的开发环境中,请将其放入:
if (environment === 'development') {
ENV.contentSecurityPolicy = {
...(policies)...
}
}
ember-cli
中提供了有关 CSP 的更多信息:https://www.npmjs.com/package/ember-cli-content-security-policy。
有关 CSP 的更多信息:http://content-security-policy.com/
我按照 http://www.ember-cli.com/#ember-data 上的建议将 http-mock 与 Ember CLI 一起使用。我了解 CSP 的基本概念,但我不了解它在 Ember CLI 应用程序中的配置。
如何配置我的应用程序以接受对 localhost:4200/api/
的请求以避免在开发过程中出现这种情况:
Content Security Policy violation: {
"csp-report": {
"document-uri":"http://localhost:4200/products",
"referrer":"",
"violated-directive":"style-src 'self'",
"effective-directive":"style-src",
"original-policy":"default-src 'none'; script-src 'self' 'unsafe-eval' localhost:35729 0.0.0.0:35729; font-src 'self'; connect-src 'self' ws://localhost:35729 ws://0.0.0.0:35729 http://0.0.0.0:4200/csp-report; img-src 'self'; style-src 'self'; media-src 'self'; report-uri http://0.0.0.0:4200/csp-report;",
"blocked-uri":"",
"source-file":"chrome-extension://alelhddbbhepgpmgidjdcjakblofbmce",
"line-number":1,"column-number":20481,"status-code":200
}
}
您可以通过编辑 config/environment.js
来调整您的内容安全策略。我相信你的情况,connect-src
与抛出的错误有关 (编辑:看起来 style-src
被违反了,可能是 Chrome Extension Awesome Screenshot)。添加 *
将允许它连接到任何东西。
var ENV = {
...
contentSecurityPolicy: {
'default-src': "'none'",
'script-src': "'self'",
'font-src': "'self'",
'connect-src': "'self' *",
'img-src': "'self'",
'style-src': "'self' *",
'media-src': "'self'"
}
}
或者更具体地说,您可以添加:
...
'connect-src': "'self' 'localhost:4200'",
...
此外,如果您只想将其添加到您的开发环境中,请将其放入:
if (environment === 'development') {
ENV.contentSecurityPolicy = {
...(policies)...
}
}
ember-cli
中提供了有关 CSP 的更多信息:https://www.npmjs.com/package/ember-cli-content-security-policy。
有关 CSP 的更多信息:http://content-security-policy.com/