当前位置 主页 > 服务器问题 > nginx问题汇总 >

    Nginx如何解决前端跨域问题?

    栏目:nginx问题汇总 时间:2019-07-10 10:17

      在进行静态页面开发时,Vue类型的应用,会需要我们调用一些接口,但接口极可能是跨域,然后浏览器就会报cross-origin问题不给调。解决这个问题的办法就是把浏览器设为忽略安全问题,设置--disable-web-security。但这种方式开发PC页面是没问题的,若是移动端页面就解决不了了。所以针对这种情况我们应该使用Nginx转发请求。把跨域的接口写成调本域的接口,然后将这些接口转发到真正的请求地址就可以了。
      具体解决案例如下:
      加入在开发一个Vue应用。
      以前调试页面是:http://192.168.1.100:8080/
      请求的接口是:http://ni.hao.sao/api/get/info
      步骤一:
      把请求接口改为:http://192.168.1.100:8080/api/get/info(这样就解决了跨域问题)。
      步骤二:
      把Nginx安装好后,去到/usr/local/etc/nginx/目录(Mac下的),修改nginx.conf文件。
      步骤三:
      把server配置注释掉。在下面增加如下代码:
      server{
      listen 8888;
      server_name  192.168.1.100;
      location /{
      proxy_pass http://192.168.1.100:8080;
      }
      location /api{
      proxy_pass http://ni.hao.sao/api;
      }
      }
      保存后,启动Nginx。
      步骤四:
      访问:http://192.168.1.100:8888/,最后可以发现问题就圆满解决了。