Nginx通過代理服務(wù)器訪問目標(biāo)接口的實現(xiàn)
需求:某Nginx需要通過一個http代理服務(wù)來訪問目標(biāo)URL。
如果下圖所示:

服務(wù)器B僅提供一個代理出來,不允許在該服務(wù)器上安裝和進行任何其他配置操作。
在這種需求場景下,網(wǎng)絡(luò)請求過程和域名解析的工作流程大致如下:
1、客戶端發(fā)送請求到Nginx服務(wù)器。
2、Nginx服務(wù)器根據(jù)配置,將請求轉(zhuǎn)發(fā)給代理服務(wù)器(例如:222.10.20.5:7890)。
3、代理服務(wù)器接收到請求后,負責(zé)解析目標(biāo)域名(如:https://www.google.com/js/th/YjCNJ0mFj9HiCkQt39lQVpZzkP0G8dlYH-ABayRLdFs.js)到具體的IP地址。
4、代理服務(wù)器進一步將請求轉(zhuǎn)發(fā)到解析后的實際IP地址,即最終的目標(biāo)服務(wù)器。
5、最終服務(wù)器處理請求并返回響應(yīng)給代理服務(wù)器,代理服務(wù)器再將響應(yīng)返回給Nginx,最后Nginx將響應(yīng)返回給客戶端。
Nginx 配置文件的代碼示例片段如下:
location /js/th/ {
proxy_pass http://222.10.20.5:7890; #這里配置代理服務(wù), http還是https具體要取決于代理服務(wù)
proxy_set_header Host www.google.com; #這里配置目標(biāo)URL的host
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_ssl_server_name on; #如果目標(biāo)是HTTPS站點,需要開啟此配置
}
假設(shè)我們的 nginx 服務(wù)的地址是 http://192.168.10.222:8080,此時我們訪問 http://192.168.10.222:8080/js/th/YjCNJ0mFj9HiCkQt39lQVpZzkP0G8dlYH-ABayRLdFs.js 即可看到實際地址 https://www.google.com/js/th/YjCNJ0mFj9HiCkQt39lQVpZzkP0G8dlYH-ABayRLdFs.js 的返回結(jié)果,則驗證通過。
到此這篇關(guān)于Nginx通過代理服務(wù)器訪問目標(biāo)接口的實現(xiàn)的文章就介紹到這了,更多相關(guān)Nginx代理服務(wù)器訪問目標(biāo)接口內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 拋棄Nginx使用nodejs做反向代理服務(wù)器
- nginx搭建tcp代理服務(wù)器
- 在Nginx服務(wù)器上配置Google反向代理的基本方法
- Nginx服務(wù)器的SSL證書配置以及對SSL的反向代理配置
- Nginx服務(wù)器的反向代理proxy_pass配置方法講解
- Nginx服務(wù)器作反向代理實現(xiàn)內(nèi)部局域網(wǎng)的url轉(zhuǎn)發(fā)配置
- 詳解Nginx反向代理到Tomcat服務(wù)器
- 詳解nginx 代理多個服務(wù)器(多個server方式)
- 使用nginx設(shè)置代理服務(wù)器
- Nginx反向代理多個服務(wù)器的實現(xiàn)方法
相關(guān)文章
nginx安裝圖解_動力節(jié)點Java學(xué)院整理
這篇文章主要為大家詳細介紹了nginx安裝的圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08
關(guān)于nginx報錯405?not?allowed解決方法總結(jié)
這篇文章主要給大家介紹了關(guān)于nginx報錯405?not?allowed解決方法的相關(guān)資料,nginx遇到post請求靜態(tài)文件會得到405錯誤,文中通過代碼介紹的非常詳細,也給出了推薦方法,需要的朋友可以參考下2023-10-10

