关于nginx:NGINX配置跨域CORS支持的正确方式

6次阅读

共计 736 个字符,预计需要花费 2 分钟才能阅读完成。

这两天在搞 酷瓜云网课 的 app,采纳 uni-app 做全端反对,现学现卖,目前算是入门了。

在做 H5 的时候难免会跨域申请后端 API,尽管用 HBuilder 内置的浏览器不会有跨域问题(这个应该是做了外部解决),然而那个内置浏览器真尼妈坑爹,过一会就会卡死,导致 HBuilder 无响应,杀过程也是杯水车薪,只能重启,反复几次谁受的了。起初发现用内部的浏览器不会有这个问题,然而又面临跨域。

这里采纳配置 nginx 来反对 CORS,这样的话就不必动任何代码了。正确的配置如下:

location ~ \.php$ {if ($request_method = 'OPTIONS') {
        add_header 'Access-Control-Allow-Origin' '*' always;
        add_header 'Access-Control-Allow-Methods' 'GET,POST,OPTIONS,PUT,DELETE' always;
        add_header 'Access-Control-Allow-Headers' '*' always;
        add_header 'Access-Control-Max-Age' 1728000 always;
        add_header 'Content-Length' 0;
        add_header 'Content-Type' 'text/plain; charset=utf-8';
        return 204;
    }

    if ($request_method ~* '(GET|POST|DELETE|PUT)') {add_header 'Access-Control-Allow-Origin' '*' always;}

}

PS:网上很多都是采集,粘贴复制的垃圾文章,齐全没有去验证的,碰到了会节约还多工夫,还会把你带坑里去。

正文完
 0