使用NGINX支持跨域CORS

2021-01-10 14:32:00
koogua
原创 149

这两天在搞 酷瓜云网课 的 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; 
  } 
} 

注意:上面的配置只适合调试阶段(因为大门全开),请根据实际情况调整参数。

发表评论
评论通过审核后显示。
博客分类