文章内容上次编辑时间于 12 days ago。近期有所更新,请放心阅读!
文章共 235 字,阅读完预计需要 24 秒。文章篇幅适中,可以放心阅读。

怎么解决多站点手机浏览器跨域访问问题

一、问题显示

1.使用泛域名搭建多站点,并且使用免费的通配符SSL证书,Nginx配置不好时出现以下问题

1cd42619af367d3043f195d33243d62.jpg

二、解决办法

1.Nginx配置CORS响应头

宝塔面板依次打开“软件商店-Nginx-配置文件”在 “serverb

location / {
    # 允许所有域名跨域(生产环境建议指定具体域名)
    add_header 'Access-Control-Allow-Origin' '*';
    add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS';
    add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
  
    # 处理预检请求(OPTIONS)
    if ($request_method = 'OPTIONS') {
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS';
        add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
        return 204;
    }
  
    # 其他原有配置(如root、index等)...
}

2.多站点独立配置(若多个站点需要独立跨域策略)

  • 为每个站点单独配置CORS头,将Access-Control-Allow-Origin替换为具体的源域名(如https://frontend.example.com)。
  • 避免使用通配符*,除非明确需要完全开放。

3.SSL设置

打开站点设置-SSL-强制开启SSL