Nginx使用带凭据的CORS凭据、Nginx、CORS

2023-09-03 14:24:38 作者:侽。

我正在构建一个Web应用程序,它通过Nginx服务器与Laravell API通信。我尝试按照wide open cors的Nginx网站上的说明操作,但它不喜欢发送凭据时的通配符响应。

CORS策略已阻止访问从原始位置获取:对印前检查请求的响应未通过访问控制检查:当请求的凭据模式为""https://api.***.com/‘""时,响应中的""Access-http://localhost:8080’-Allow-Origin""标头的值不能为通配符""""。

无需 CORS,用 nginx 解决跨域问题,轻松实现低代码开发的前后端分离

API服务器需要一个承载访问令牌来进行身份验证,并且每个端点在服务器上都有自己的路径。在此场景中配置Nginx的正确方式是什么?

推荐答案

错误消息正确,您不能使用通配符来源和凭据:

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin

对于没有凭据的请求,可以将文本值";*";指定为通配符;该值通知浏览器允许从任何来源请求代码以访问资源。正在尝试使用带有凭据的通配符will result in an error。

相反,只要传回实际的源,即在Origin HTTP标头中到达的源,它将始终匹配:

add_header Access-Control-Allow-Origin $http_origin always;