是的,我发现了很多类似的东西,但仍然没有解决我的例子。我想避免杀死浏览器端的安全性,而是让代理来完成它的工作,但我担心我在设置中错过了一些无聊的细节,我不是CORS专家。
所以,我得到的是...403;
Failed to load http://localhost:10000/some/rest/endpoint: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:4200' is therefore not allowed access.
其中localhost:10000
是我的api url,:4200
是默认的Angular CLI实例。
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "angular-proj:build",
"proxyConfig": "./proxy.conf.json"
},
{
"/some/rest/*": {
"target": "http://localhost:10000",
"secure": false,
"changeOrigin": true,
"logLevel": "debug"
}
}
....除了我仍然得到403,并且仍然在request*头中看到;
Host: localhost:10000
Origin: http://localhost:4200
所以我的问题是,我在这里遗漏了什么无聊的细节?我不想在所有来源的请求上打上星号,也不想关闭浏览器检查,我更希望把它很好地捆绑在服务配置中,就像我这样做一样,另一双眼睛是非常受欢迎的。干杯
补充:我的get似乎经过了很好的过程,但是像access-control-request-method:POST
这样的request method:options
显示为request method:options
,这就是我得到403的地方...为什么POST会变成options??
附录3:这运行为--aot=true
和代理。
以下标题是错误的,这就是浏览器仍然触发“同源策略”握手的原因:
Host: localhost:10000
Origin: http://localhost:4200
它们应该是:
Host: localhost:4200
Origin: http://localhost:4200
我坚信您没有将请求从http://localhost:10000/*
更改为http://localhost:4200/some/rest/*
,而且“大量类似的内容”不包括以下内容:localhost:Angular2 CORS问题
我已将laravel应用程序的时区更改为,并在app.php文件中更改了此时区 但是,当我使用签入生产时区时,我得到的时区是UTC 我如何设置碳原子的时区
CORS策略阻止从来源“http://localhost:3000”访问位于“http://localhost:8080/api”的XMLHttpRequest:请求的资源上没有“access-control-allog-origin”标头。 你知道吗?
我的印象是,跨源请求被阻止主要是一个安全问题,它防止邪恶的网站获得或更新您的web服务上的信息。 express是否应该阻止服务继续运行,因为起源是不允许的?如果express代码即使前端得到错误仍在执行,这难道不是一个安全威胁吗?
我没有发现这段代码中有任何错误,但是eclipse告诉我变量没有初始化。这只是一个警告,但编译后也不起作用。我根本找不到错误,这段代码是100%正确的。请注意,此代码的结构不容易更改,因为下面提供的代码经过简化,因此您没有那么多要阅读的内容;-)
我正在开发Spring Boot后端和React前端。本地请求来自与后端不同的URL(本地主机:3000到本地主机:8080)。因此,我需要一个跨原点配置。为了简单起见,我只允许使用localhost:3000所有API。但仍有一些请求被阻止。 这是我的配置: 以下是Firefox抛出的错误:CORS错误 任何帮助都将不胜感激:)