Nginx通過(guò)代理服務(wù)器訪問(wèn)目標(biāo)接口的實(shí)現(xiàn)
需求:某Nginx需要通過(guò)一個(gè)http代理服務(wù)來(lái)訪問(wèn)目標(biāo)URL。
如果下圖所示:
服務(wù)器B僅提供一個(gè)代理出來(lái),不允許在該服務(wù)器上安裝和進(jìn)行任何其他配置操作。
在這種需求場(chǎng)景下,網(wǎng)絡(luò)請(qǐng)求過(guò)程和域名解析的工作流程大致如下:
1、客戶端發(fā)送請(qǐng)求到Nginx服務(wù)器。
2、Nginx服務(wù)器根據(jù)配置,將請(qǐng)求轉(zhuǎn)發(fā)給代理服務(wù)器(例如:222.10.20.5:7890)。
3、代理服務(wù)器接收到請(qǐng)求后,負(fù)責(zé)解析目標(biāo)域名(如:https://www.google.com/js/th/YjCNJ0mFj9HiCkQt39lQVpZzkP0G8dlYH-ABayRLdFs.js
)到具體的IP地址。
4、代理服務(wù)器進(jìn)一步將請(qǐng)求轉(zhuǎn)發(fā)到解析后的實(shí)際IP地址,即最終的目標(biāo)服務(wù)器。
5、最終服務(wù)器處理請(qǐng)求并返回響應(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站點(diǎn),需要開(kāi)啟此配置 }
假設(shè)我們的 nginx 服務(wù)的地址是 http://192.168.10.222:8080,此時(shí)我們?cè)L問(wèn) http://192.168.10.222:8080/js/th/YjCNJ0mFj9HiCkQt39lQVpZzkP0G8dlYH-ABayRLdFs.js
即可看到實(shí)際地址 https://www.google.com/js/th/YjCNJ0mFj9HiCkQt39lQVpZzkP0G8dlYH-ABayRLdFs.js
的返回結(jié)果,則驗(yàn)證通過(guò)。
到此這篇關(guān)于Nginx通過(guò)代理服務(wù)器訪問(wèn)目標(biāo)接口的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Nginx代理服務(wù)器訪問(wèn)目標(biāo)接口內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 拋棄Nginx使用nodejs做反向代理服務(wù)器
- nginx搭建tcp代理服務(wù)器
- 在Nginx服務(wù)器上配置Google反向代理的基本方法
- Nginx服務(wù)器的SSL證書(shū)配置以及對(duì)SSL的反向代理配置
- Nginx服務(wù)器的反向代理proxy_pass配置方法講解
- Nginx服務(wù)器作反向代理實(shí)現(xiàn)內(nèi)部局域網(wǎng)的url轉(zhuǎn)發(fā)配置
- 詳解Nginx反向代理到Tomcat服務(wù)器
- 詳解nginx 代理多個(gè)服務(wù)器(多個(gè)server方式)
- 使用nginx設(shè)置代理服務(wù)器
- Nginx反向代理多個(gè)服務(wù)器的實(shí)現(xiàn)方法
相關(guān)文章
Nginx實(shí)現(xiàn)異步訪問(wèn)mysql的配置方法
這篇文章主要介紹了Nginx實(shí)現(xiàn)異步訪問(wèn)mysql的配置方法,本文先是講解了安裝配置方法,然后給出了使用方法,需要的朋友可以參考下2015-06-06基于Nginx的衍生版服務(wù)器Tengine簡(jiǎn)介
這篇文章主要介紹了基于Nginx的衍生版服務(wù)器Tengine簡(jiǎn)介,本文講解了Nginx的特性、Tengine的特性、架構(gòu)和擴(kuò)展性等內(nèi)容,需要的朋友可以參考下2015-03-03nginx安裝圖解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了nginx安裝的圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08nginx上部署react項(xiàng)目的實(shí)例方法
今天小編就為大家分享一篇關(guān)于nginx上部署react項(xiàng)目的實(shí)例方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02Linux下安裝MongoDB的實(shí)現(xiàn)步驟
這篇文章主要介紹了Linux下安裝MongoDB的實(shí)現(xiàn)步驟的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家輕松安裝,需要的朋友可以參考下2017-10-10關(guān)于nginx報(bào)錯(cuò)405?not?allowed解決方法總結(jié)
這篇文章主要給大家介紹了關(guān)于nginx報(bào)錯(cuò)405?not?allowed解決方法的相關(guān)資料,nginx遇到post請(qǐng)求靜態(tài)文件會(huì)得到405錯(cuò)誤,文中通過(guò)代碼介紹的非常詳細(xì),也給出了推薦方法,需要的朋友可以參考下2023-10-10Nginx IP封禁及自動(dòng)封禁IP的實(shí)現(xiàn)
本文主要介紹了Nginx IP封禁及自動(dòng)封禁IP的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01