Reactjs Web包开发服务器响应内容安全策略错误
我的单页应用程序运行在webpack dev服务器上。我可以在Reactjs Web包开发服务器响应内容安全策略错误,reactjs,webpack,webpack-dev-server,content-security-policy,Reactjs,Webpack,Webpack Dev Server,Content Security Policy,我的单页应用程序运行在webpack dev服务器上。我可以在localhost:8080上加载和重新加载我的进入路径,并且每次都可以运行。但是,我只能通过应用程序内的链接加载localhost:8080/accounts/login,即每当我从浏览器刷新按钮重新加载localhost:8080/accounts/login Cannot GET /accounts/login/ 作为服务器响应,在控制台上 内容安全策略:页面设置阻止加载 自我资源(“默认src”)。资料来源: ;(函数ins
localhost:8080
上加载和重新加载我的进入路径,并且每次都可以运行。但是,我只能通过应用程序内的链接加载localhost:8080/accounts/login
,即每当我从浏览器刷新按钮重新加载localhost:8080/accounts/login
Cannot GET /accounts/login/
作为服务器响应,在控制台上
内容安全策略:页面设置阻止加载
自我资源(“默认src”)。资料来源:
;(函数installGlobalHook(窗口){…)
这是我在单页应用程序index.html上的CSP标题
<meta http-equiv="Content-Security-Policy"
content="default-src * 'self' 'unsafe-inline' 'unsafe-eval'">
我也没有在我的
webpack.config.json
上使用任何devtool
。我缺少什么。如果您在项目中使用webpack,请在您的webpack配置文件中添加output.publicPath='/'
和devServer.historyApiFallback=true
更多信息:我也有类似的问题。必须从
webpack.config.js
中的devServer
配置中删除contentBase
行
这是我的webpack.config.js
:
var path = require("path");
module.exports = {
devtool: 'inline-source-map',
entry: "./src/index.js",
output: {
path: path.resolve(__dirname, "dist"),
publicPath: "/assets/",
filename: "bundle.js"
},
devServer: {
port: 9002
},
module: {
rules: [
{ test: /\.js$/, use: 'babel-loader' }
]
}
};
我花了几个小时来解决这个问题。您必须添加一个简单的代码。只需按照下面的说明操作即可。如果您在从特定url浏览到另一个url时遇到问题,您也可以解决此问题。如果您希望从webpack配置文件进行配置,请编写下面的代码
devServer: {
historyApiFallback: true
}
如果希望通过cli命令运行,请使用下面的代码
"start": "webpack-dev-server --history-api-fallback"
它对我起了作用。我不需要做任何其他事情来修复这个问题,比如meta标记或其他东西。如果您使用Rails和Webpacker并出现此错误,请注意初始值设定项
config/initializers/content\u security\u policy.rb
为Rails.env.development
。更改:https
to:http
在那一行为我解决了这个错误。(请记住,就CSP而言,localhost与127.0.0.1不同。)文档似乎有一个内容安全策略标题,该标题指定了一个更严格的策略,该策略具有默认srchttp://localhost:8080
。如果指定了多个CSP策略,则越严格的策略始终获胜。您可以覆盖在一个位置(例如HTTP标头)指定的严格CSP策略在其他地方指定了更自由的CSP策略(例如,meta
element)我的问题与你的问题完全相同。从SideShowBarker的评论中,我仍然不知道如何解决这个问题。你可以给我一个有用的链接,或者更详细地解释一下你的解决方案,为我指出一些方向吗?我想你错误地引用了已经回答的另一个问题的答案,它是:devServer:{historyApiFallback:true,contentBase:'./'}