前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nginx 配置CORS该如何允许配置?

nginx 配置CORS该如何允许配置?

作者头像
习惯说一说
修改2019-07-04 10:04:21
5.6K0
修改2019-07-04 10:04:21
举报

后端工程师写完接口之后传到远程服务器上,为了便于本地调试,我特地去服务器上的nginx配置允许CORS。

  配置过程

  服务必须返回 Access-Control-Allow-Origin : enabledhost.com 的 http response,才会允许跨域访问,我先去服务器上找到 nginx 的配置文件,然后直接配置以下内容:

  location /

  {

  add_header Access-Control-Allow-Origin *;

  add_header Access-Control-Allow-Headers X-Requested-With;

  add_header Access-Control-Allow-Methods GET,POST,OPTIONS;

  include fastcgi.conf;

  }

  完事之后进行接口调用,发现还是不管用,于是就进行各种搜,网上的答案五花八门,有说GET类型和POST类型的请求配置不一样,也有说一样的。 最后还是问了搞后端的朋友,应该写在一个关于php支持的配置文件里才行,于是我更正了配置:

  location —— [^/]\.php(/|$)

  {

  try_files $uri =404;

  fastcgi_pass  unix:/tmp/php-cgi.sock;

  fastcgi_index index.php;

  add_header Access-Control-Allow-Origin *;

  add_header Access-Control-Allow-Headers X-Requested-With;

  add_header Access-Control-Allow-Methods GET,POST,OPTIONS;

  include fastcgi.conf;

  }

  至此,就OK了,大家在进行nginx跨域配置时需要注意以下几点:

  1、Access-Control-Allow-Origin 不要像我一样设置 * ,这样不安全。我只是为了临时使用方便,后面还会关掉此设置

  2、设置时写在php相关的location配置中

  3、不要忘记这条配置 add_header Access-Control-Allow-Headers X-Requested-With; 网上搜到的答案大部分都少这一条。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档