gpt4 book ai didi

javascript - 从企业防火墙后面调用 RESTful 服务时出现 CORS 错误

转载 作者:行者123 更新时间:2023-11-29 23:31:17 25 4
gpt4 key购买 nike

当我在公司防火墙后面尝试调用用 PHP 编写的 RESTful Web 服务时,我收到以下 CORS 错误。

Refused to connect to 'http://prx-9k-40-hadc/?cfru=aHR0cDovL2phY2tzb25uZy5wcm9qZWN0c2JpdC5vcmcvcGl6emFwbGFjZS9sb2dpbl9hZG1pbi5waHA/dXNlcmlkPWFkbWluJnBhc3N3b3JkPWFkbWlu' because it violates the following Content Security Policy directive: "connect-src 'self' data: gap: http://myurl.com https://ssl.gstatic.com 'unsafe-eval' 'self' ws:".

当我不在公司防火墙后面时,这不会发生(即我从家里登录,而不是通过公司 VPN 连接)。

我的内容安全政策如下:

<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: http://myurl.com https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">

这就是我进行 Ajax 调用的方式:

$.ajax({
url: url,
type: 'GET',
data: JSONObject,
dataType: 'json',
contentType: "application/json; charset=utf-8",
success: function (arr) {
_getLoginResult(arr);
},
error: function () {
validationMsg();
}
});

我的 PHP 网络服务中的 header 如下所示:

header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token');
header("Content-Type: application/json; charset=UTF-8");

同样,这里是症状:

当我不在公司防火墙后面且未通过其 VPN 登录到我的公司时,这里的一切工作正常。

一旦我登录,就会发生 CORS 错误,并且我尝试在服务器中进行的任何设置更改都没有,或者对我的内容安全策略的设置更改也没有任何改变。

我看到它说“拒绝连接到 http://prx-9k-40-hadc”。这绝对不是我的 RESTful Web 服务的 URL。感觉像我公司的代理服务器。

有人遇到过吗?我希望能够在我的公司防火墙后面运行我的 Web 服务。

最佳答案

我解决了。我的公司防火墙配置为剥离它认为危险的访问控制 header 。显然,如果不通过 SSL 访问,它会觉得这是危险的。

header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token');
header("Content-Type: application/json; charset=UTF-8");

所以我所做的就是使用 https://而不是 http://进行 RESTful 服务调用,一切都很好。

我绝对不认为这是问题所在,因为不到一周前,这个防火墙指令还不存在。

关于javascript - 从企业防火墙后面调用 RESTful 服务时出现 CORS 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47289277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com