windows本地使用Nginx反向代理解决前后端联调的跨域访问

第一种使用Nginx

1、首先在服务端所在的电脑安装Windows版本的Nginx 
 http://nginx.org/en/download.html
(只能在本地搭建Nginx服务器,云服务器搭建不可以访问本地,本地没有外网地址,百度输入ip地址显示的本机我这里也不行 所以 像我这种本机启动项目,腾讯云服务器配 置Nginx反向代理没卵用,没有外网地址,不过反向代理到百度还可以的)
2、在conf目录下找到nginx.conf修改

3、其中增加如下代码 

server {
            #前端ajax请求需要使用的地址为本机地址(就是ipconfig显示的地址因为Nginx部署在本地),前端ajax请求需要使用端口为9000(可以随便选个)
            listen  9000;   
            #服务器的名字随便去貌似没区别
            server_name  bididc;

            #下面这些都加了always,不知道有没区别,反正之前加了这些不行
            #特别是Access-Control-Allow-Origin,之前一直是*,都不管用
            add_header 'Access-Control-Allow-Methods' 'GET,OPTIONS,PUT,DELETE' always;
            add_header 'Access-Control-Allow-Credentials' 'true' always;
            add_header 'Access-Control-Allow-Origin' '$http_origin' always;
            add_header 'Access-Control-Allow-Headers' 'Authorization,DNT,User-Agent,Keep-Alive,Content-Type,accept,origin,X-Requested-With' always;

            if ($request_method = OPTIONS ) {
                return 200;
            }

            location / {  
                #真实访问的服务器地址,因为在本机所以是localhost
                proxy_pass http://192.168.1.101:8080/;
            }
        }


第二种开发时使用chrome浏览器插件

Allow-Control-Allow-Origin:*

参考:

http://blog.csdn.net/KH717586350/article/details/78960106

你可能感兴趣的:(原创)