在进行静态页面开发时,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/,最后可以发现问题就圆满解决了。