nginx 反向代理 关闭 strict-origin-when-cross-origin
时间: 2023-10-22 14:07:19 浏览: 302
你可以通过在 Nginx 的配置中添加以下指令来关闭 strict-origin-when-cross-origin:
```nginx
add_header Cross-Origin-Opener-Policy same-origin;
add_header Cross-Origin-Embedder-Policy require-corp;
```
这样做将会设置正确的跨域策略,确保反向代理服务器不会将 strict-origin-when-cross-origin 策略应用于响应头。请确保将这些指令添加到正确的位置,例如在 `location` 指令块中。此外,其它的安全配置和反向代理设置也需要根据具体情况进行调整。
相关问题
docker中nginx Referrer Policy: strict-origin-when-cross-origin 404
在Docker中,Nginx是一个常用的Web服务器和反向代理服务器。Referrer Policy是一个HTTP头部字段,用于控制浏览器在发送请求时如何处理Referer(引用页)字段。而strict-origin-when-cross-origin是Referrer Policy的一种取值,表示当请求从同源页面发出时,会将完整的Referer字段发送给目标服务器;而当请求从跨域页面发出时,只会发送源站点的域名部分作为Referer字段。
当你在Docker中使用Nginx时,如果配置了Referrer Policy为strict-origin-when-cross-origin,并且当请求发生404错误时,可能有以下几种情况:
1. 请求的资源不存在:如果请求的资源在Nginx服务器上不存在,Nginx会返回404错误页面。
2. 配置错误:可能是Nginx的配置文件中有错误导致无法正确处理请求。你可以检查Nginx的配置文件,确保正确配置了相关的location和proxy_pass等指令。
3. 路径错误:请求的路径可能不正确,导致Nginx无法找到对应的资源。你可以检查请求的URL路径是否正确,并确保Nginx的配置文件中有对应的location指令。
nginx:strict-origin-when-cross-origin
nginx:strict-origin-when-cross-origin是一种跨域问题,主要出现在使用Nginx进行反向代理时,通过HTTPS访问前端页面,但后端HTTP服务无法正常访问的情况。这个问题导致很多资源无法加载,可能是由于缺少适当的CORS(跨域资源共享)设置所致。CORS是一种用于在浏览器中实现跨域访问的机制。
解决这个问题的方法是设置反向代理服务器的HTTP响应头Access-Control-Allow-Origin,允许指定的域名进行跨域访问。你可以在Nginx配置文件中添加以下内容:
```
location / {
add_header Access-Control-Allow-Origin $http_origin;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Credentials true;
if ($request_method = '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-Max-Age 1728000;
add_header Content-Type text/plain charset=UTF-8;
add_header Content-Length 0;
return 204;
}
}
```
以上配置将允许所有来源的请求进行跨域访问,你也可以根据需要修改add_header Access-Control-Allow-Origin的值来限制来源。
通过添加适当的CORS设置,你应该能够解决nginx:strict-origin-when-cross-origin的问题,并正确加载后端HTTP服务所需的资源。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
阅读全文
相关推荐















