Google谷歌浏览器Post请求预见strict-origin-when-cross-origin跨域问题的 解决办法
时间: 2023-08-27 22:16:30 浏览: 155
您好!对于Google Chrome浏览器的"strict-origin-when-cross-origin"跨域问题,可以尝试以下解决方法:
1. 使用代理服务器:将请求发送到代理服务器上,然后由代理服务器再发送到目标服务器。这样可以绕过浏览器的同源策略限制。
2. 使用浏览器插件或扩展程序:有一些浏览器插件或扩展程序可以帮助您修改请求头或绕过跨域限制。您可以在浏览器的插件商店中搜索相关扩展程序。
3. 设置CORS(跨域资源共享)头部:如果您有权访问目标服务器,可以在服务器的响应头中添加CORS头部,允许来自其他域的请求访问该资源。示例代码如下:
```javascript
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST
Access-Control-Allow-Headers: Content-Type
```
将上述代码添加到目标服务器的响应头中,其中"Access-Control-Allow-Origin"设置为"*"表示允许来自任何域的请求,您也可以将其设置为特定的域名。
请注意,如果您不具备对目标服务器的控制权,则无法直接解决该问题。在这种情况下,您可以尝试与目标服务器的所有者或管理员联系,请求他们添加CORS头部或其他解决方法。
希望以上方法能帮助您解决问题!如果您有其他问题,请随时提问。
相关问题
vue发送get请求正常,post请求时报strict-origin-when-cross-origin
这个问题通常是由于浏览器的跨域限制引起的。在发送跨域 POST 请求时,浏览器会先发送一个 OPTION 请求进行预检,如果服务端没有正确处理 OPTION 请求,就会出现这个错误。
解决方法是在服务端添加跨域访问的头信息,例如在 PHP 中可以使用以下代码:
```php
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST, GET, OPTIONS');
header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept');
```
如果你使用的是某个框架,也可以在框架的配置文件或路由中添加类似的设置来解决这个问题。
nginx 解决 strict-origin-when-cross-origin 跨域
为了解决`strict-origin-when-cross-origin`跨域问题,可以在nginx配置文件中添加以下内容:
```
location / {
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
#
# Custom headers and headers various browsers *should* be OK with but aren't
#
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
#
# Tell client that this pre-flight info is valid for 20 days
#
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain; charset=utf-8';
add_header 'Content-Length' 0;
return 204;
}
if ($request_method = 'POST') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
}
if ($request_method = 'GET') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
}
}
```
这段代码会在nginx的配置文件中添加跨域处理的相关配置,包括允许的请求方法、请求头、响应头等信息。其中`Access-Control-Allow-Origin`设置为`*`表示允许所有来源的请求访问该资源。
阅读全文