1. 程式人生 > >windows本地使用Nginx反向代理解決前後端聯調的跨域訪問

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