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

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

1. 首先拋出問題

clipboard.png

在服務(wù)為端報錯,并且請求的地址不正確

2. 在本地測試的情況

clipboard.png

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

2.1 在本地的請求代碼

組件中axios的使用

clipboard.png

在config中proxyTable的配置

clipboard.png

3. 測試

3.1 使用nginx反向代理

clipboard.png

clipboard.png

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

回答
編輯回答
殘淚

nginx里面反向代理一下

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

一點點修改,最后不知道原因的成功了

clipboard.png

clipboard.png

clipboard.png

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

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

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

改一行就行

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

最后面斜杠加上

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

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

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