如何根据允许的来源列表设置 Access-Control-Allow-Origin 标头的值?

2024-03-29

我读过很多帖子,但没有一个起作用。

我在安装了 ubuntu 16.04 和 nginx 的 aws 中安装了 ec2。进入了site-available / site-enabled to 'Access-Control-Allow-Origin'允许一个域访问,但如何添加多个域访问?

如果我添加多个访问权限,我会收到多个值错误。 很多帖子都是关于 php 的,例如

NGINX“Access-Control-Allow-Origin”标头包含多个值 https://stackoverflow.com/questions/38963180/nginx-access-control-allow-origin-header-contains-multiple-values

即使我没有使用 php,但我尝试使用上面的代码,但不起作用。

有谁能够帮助我或指导我如何在服务器上完成此操作?

提前致谢。


您可以有条件地导致Access-Control-Allow-Origin通过在 nginx 配置中添加类似以下内容,使用正确的值发送响应标头。

location / {
  set $is_allowed_origin "";
  if ($http_origin = "https://some.allowed.origin") {
    set $is_allowed_origin "true";
  }
  if ($http_origin = "https://another.allowed.origin") {
    set $is_allowed_origin "true";
  }
  if ($is_allowed_origin = "true") {
    add_header "Access-Control-Allow-Origin" "$http_origin";
  }
}

这会导致Access-Control-Allow-Origin: https://some.allowed.origin如果值被发送Origin请求中的请求头是https://some.allowed.origin,并且会导致Access-Control-Allow-Origin: https://another.allowed.origin发送,如果Origin is https://another.allowed.origin, etc.

如果Origin请求标头都不是https://some.allowed.origin or https://another.allowed.origin, 那就不要Access-Control-Allow-Origin将被发送。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何根据允许的来源列表设置 Access-Control-Allow-Origin 标头的值? 的相关文章

随机推荐