我已经阅读了很多帖子,但没有一个有效。
我在安装了 ubuntu 16.04 和 nginx 的 aws 中安装了 ec2。进入site-available
/site-enabled
至'Access-Control-Allow-Origin'
允许一个域访问,但是如何添加多个域访问?
如果我添加多个访问权限,我会收到多个值错误。
很多帖子都是关于 php 的,例如
NGINX 'Access-Control-Allow-Origin' header contains multiple values
即使我没有使用 php,但我已经尝试使用上面的代码但不起作用。
有没有人可以帮我或指导我如何在服务器上完成?
提前致谢。
最佳答案
您可以有条件地导致 Access-Control-Allow-Origin
通过将以下内容添加到您的 nginx 配置中,以正确的值发送响应 header 。
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
则发送是 https://another.allowed.origin
, ETC。如果
Origin
的值请求头既不是 https://some.allowed.origin
或 https://another.allowed.origin
,然后没有 Access-Control-Allow-Origin
将被发送。
关于amazon-web-services - 如何根据允许的来源列表设置 Access-Control-Allow-Origin header 的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44420983/