使用NGINX支持跨域CORS

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

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


在做 H5 的时候难免会跨域请求后端 API,虽然用 HBuilder 内置的浏览器不会有跨域问题(这个应该是做了内部处理),但是那个内置浏览器真尼妈坑爹,过一会就会卡死,导致 HBuilder 无响应,杀进程也是无济于事,只能重启,重复几次谁受的了。后来发现用外部的浏览器不会有这个问题,但是又面临跨域。


这里采用配置 nginx 来支持 CORS,这样的话就不用动任何代码了。正确的配置如下:


  1. location ~ \.php$ {
  2. if ( $request_method = 'OPTIONS' ) {
  3. add_header 'Access-Control-Allow-Origin' '*' always ;
  4. add_header 'Access-Control-Allow-Methods' 'GET,POST,OPTIONS,PUT,DELETE' always ;
  5. add_header 'Access-Control-Allow-Headers' '*' always ;
  6. add_header 'Access-Control-Max-Age' 1728000 always ;
  7. add_header 'Content-Length' 0 ;
  8. add_header 'Content-Type' 'text/plain; charset=utf-8' ;
  9. return 204 ;
  10. }
  11. if ( $request_method ~* '(GET|POST|DELETE|PUT)' ) {
  12. add_header 'Access-Control-Allow-Origin' '*' always ;
  13. }
  14. }


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

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