鍍金池/ 問(wèn)答/Linux  HTML/ nginx環(huán)境下的服務(wù)器端調(diào)用第三方api如何跨域

nginx環(huán)境下的服務(wù)器端調(diào)用第三方api如何跨域

1. 首先拋出問(wèn)題

clipboard.png

在服務(wù)為端報(bào)錯(cuò),并且請(qǐng)求的地址不正確

2. 在本地測(cè)試的情況

clipboard.png

本地成功獲取正確的結(jié)果

2.1 在本地的請(qǐng)求代碼

組件中axios的使用

clipboard.png

在config中proxyTable的配置

clipboard.png

3. 測(cè)試

3.1 使用nginx反向代理

clipboard.png

clipboard.png

正確的獲取地址為http://api.jisuapi.com/news/get?channel=頭條
中間的news被替換了為api
怎樣能夠正確的獲得地址

回答
編輯回答
殘淚

nginx里面反向代理一下

2017年4月19日 00:07
編輯回答
初心

一點(diǎn)點(diǎn)修改,最后不知道原因的成功了

clipboard.png

clipboard.png

clipboard.png

2017年11月21日 21:57
編輯回答
帥到炸

為了使IE也支持,你需要加入 add_header P3P "CP=CAO PSA OUR";
來(lái)自我整理過(guò)且收藏最多的文章關(guān)于Vue/axios下跨域cookie的處理

2017年2月9日 08:23
編輯回答
若相惜

改一行就行

location /api {
    proxy_pass http://api.jisupai.com/;
}

最后面斜杠加上

2017年7月29日 17:25
編輯回答
赱丅呿

解決第三方api(你沒(méi)有控制權(quán)的api)在前端跨域訪問(wèn)有三種方法:

  1. 使用nginx在另一個(gè)域名下設(shè)置一個(gè)反向代理,并設(shè)置允許跨域的頭部字段(Access-Control-Allow-Origin)。
  2. 使用nginx在與前端同一域名下的某個(gè)子路徑設(shè)置一個(gè)反向代理,這樣就不存在跨域的問(wèn)題了。但由于要在同一域名下避免第三方api的url和你的url沖突,可能需要修改沖突的url,這樣可能會(huì)造成奇怪的問(wèn)題。
  3. 在后端調(diào)用api,再將結(jié)果通過(guò)后端送回給前端,這樣也不存在跨域的問(wèn)題。
2018年6月20日 14:48