爲了應對跨域代理,使用nginx做代理,以解決跨域,一下是設置方法;
-
windows系統去nginx官網下載響應的nginx安裝包,mac是用brew install nginx進行安裝
注:windows是下載下圖紅框一列(選擇你需要的版本號),注意不要下錯了
-
安裝啓動
windows只需要解壓壓縮包即可,解壓後的文件夾就是nginx程序,該文件不可以放到含有中文名稱路徑中,否則無法正常啓動;雙擊nginx.exe即可啓動;
mac使用brew安裝成功即可,程序路徑在/usr/local/etc/nginx
下;運用nginx
命令行即可啓動; -
關閉nginx,使用命令行
nginx -s stop
即可,windows需要cd到nginx到根目錄下或者配置nginx到環境變量(同樣也可以用命令行啓動) -
修改文件默認路徑:
a. 默認根路徑,mac的默認路徑爲/usr/local/etc/nginx
,windows 的默認路徑則爲你的nginx根目錄的html文件夾,你可以不修改默認路徑,直接將文件發到默認的文件根路徑中就可以通過nginx進行訪問了
b. 修改默認路徑,打開nginx.conf
文件,找到server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; }
說明如下圖:
只需要將文件默認路徑更換成你需要的路徑(建議設置絕對路徑),然後重啓啓動即可,也可以使用命令行nginx -s reload
進行重啓;
- 設置代理
因爲是要快速搭建,所以用個例子來進行;
例: 你需要去http://1.1.1.1:8080/api/getData
這個接口去請求數據(post請求),在js(使用jQuery)文件這樣寫var URL_IP = '' var url = URL_IP + '/api/getData' var data = {} var setting = { type: 'POST', url: url, data: data, ContentType: 'application/x-www-form-unlencoded', success: function(data){ //成功回調,即接口訪問成功後執行,data爲返回的數據對象 console.log(data) }, error: function(err){ //錯誤回調,即接口訪問出現錯誤後執行,err爲錯誤信息 console.error(err) } } $.ajax(setting);
nginx.conf
文件中設置
設置完成重啓nginx即可;在項目上線的時候只需要將js文件中的location / { root html; index index.html index.htm; } location /api { proxy_pass http://1.1.1.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
URL_IP
變量的值賦值爲http://1.1.1.1:8080
即可;