nginx 配置允许别名 url 访问我当前的 url

nginx 配置允许别名 url 访问我当前的 url

我当前的 Nginx 配置与此 URL 配合良好: https://myhostname.com

但我为同一台服务器创建了不同的别名,比如 myhostname1

现在当我尝试访问该网址时

https://myhostname1.com

它会抛出错误

XMLHttpRequest无法加载 https://主机名?pingpong=2831234.“Access-Control-Allow-Origin”标头具有值“https://myhostname.com' 与提供的原点不相等。原点 'https://myhostname1.com' 因此不允许访问。

主机 myhostname 和 myhostname1 都指向相同的 IP 和 DNS 条目。

我尝试将此行添加到我的 nginx 配置中,但似乎不起作用

   location / {
      add_header 'Access-Control-Allow-Origin' '*';
..........

但似乎还是不起作用。有人能帮我解决我的问题吗?

答案1

这对我有用

server {
    listen 80;
    server_name myhostname myhostname1;
    access_log /some/path/access.log;
    error_log /some/path/error.log;
    root /some/path/;

    location / {
        if ($http_origin ~* (https?://myhostname|https?://myhostname1)) {
            add_header 'Access-Control-Allow-Origin' "$http_origin";
        }
        #
        autoindex on;
        index  index.html index.htm index.php ;
    }
}

更多文档和示例这里

像这样的正则表达式可能适用于所有myhostnameXXXXXX 为数字的情况(已编辑)

if ($http_origin ~* (https?:myhostname([0-9]+)?)) {
    add_header 'Access-Control-Allow-Origin' "$http_origin";
}

另请注意,两个域均由同一块提供服务:

    server_name myhostname myhostname1;

相关内容