nginx前端跨域

2020-04-17 14:15:24   工作备份

  nginx,跨域  

nginx跨域配置

今天我遇到了个跨域的问题,之前跨域都是后端人员代码中允许跨域的,其实还可以使用nginx的反向代理来允许跨域,搜索了下网上资料,结果发现基本上全都是错的,也不知道这些人有没有自己敲过试试,无语

  1. 正确做法:
    重点在于 always关键字;
    例如:add_header ‘’ ‘’ always;

    1. location /api{
    2. add_header 'Access-Control-Allow-Origin' '*' always;
    3. add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE' always;
    4. add_header 'Access-Control-Allow-Credentials' 'true' always;
    5. add_header 'Access-Control-Allow-Headers' 'Authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,X-Data-Type,X-Requested-With,X-Data-Type,X-Auth-Token' always;
    6. if ( $request_method = 'OPTIONS' ) {
    7. return 200;
    8. }
    9. proxy_pass http://192.168.1.55:8888/api;
    10. }
  2. 我注意到,最新的谷歌浏览器我不写 OPTIONS 这段也是可以的,其他的就不行,也许是版本问题