首页 手册笔记 ✒️

浏览器由于安全限制默认是不允许跨域访问的,服务器需要配合指定认证信息,当出现403跨域错误的时候 No 'Access-Control-Allow-Origin' header is present on the requested resource,需要给 Nginx 服务器配置响应的 header 参数:

在 Nginx 配置文件中加入如下内容即可:

location / {  
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
    add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';

    if ($request_method = 'OPTIONS') {
        return 204;
    }
} 

如果使用了 CDN,只需要在 CDN 高级设置中加入自定义HTTP响应头即可(以腾讯云CDN为例),无需调整 Nginx 配置

Access-Control-Allow-Origin *;
Access-Control-Allow-Methods 'GET, POST, OPTIONS';
Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';

参考来源:Nginx配置跨域请求 Access-Control-Allow-Origin *




文章评论