-
當前位置:首頁 > 創(chuàng)意學院 > 技術 > 專題列表 > 正文
nginx轉發(fā)內(nèi)網(wǎng)到外網(wǎng)(nginx轉發(fā)外部地址)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關于nginx轉發(fā)內(nèi)網(wǎng)到外網(wǎng)的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
ChatGPT國內(nèi)免費在線使用,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關鍵詞,就能返回你想要的內(nèi)容,越精準,寫出的就越詳細,有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com
本文目錄:
一、Nginx轉發(fā)出現(xiàn)502的問題
nginx轉發(fā)內(nèi)網(wǎng)時候會出現(xiàn)502的問題,解決方法如下:
執(zhí)行如下命令打開:
/usr/sbin/setsebool httpd_can_network_connect true
寫入配置文件
setsebool -P httpd_can_network_connect=1
問題解決
二、Nginx配置location進行接口轉發(fā)
生產(chǎn)環(huán)境中,用戶首先訪問網(wǎng)站的域名,然后由Nginx監(jiān)聽 80 端口對請求進行轉發(fā)。
例如用戶發(fā)起以下請求查詢匯率數(shù)據(jù):
http://[WEB_DOMAIN]/api/v1/runtime/exchange
經(jīng)過Nginx處理后到達服務端的請求則是這樣的:
http://[host:port]/v1/runtime/exchange
這個請求再經(jīng)過微服務的網(wǎng)關,找到 runtime 服務,就會訪問路由為 /exchange 的接口。
了解了這個后,我們來處理需求。
跟coupons服務接口側商定,所有關于coupons服務的接口均采用 applcationCode 和 coupons 參數(shù)進行路由映射.
舉個例子:該服務部署在192.168.31.2下的8085端口,提供了一個查詢接口,那么應該是這種規(guī)則:
http://192.168.31.2:8085/runtime/coupons/data
此時,前端依然保持系統(tǒng)原有風格進行api調(diào)用:
http://www.baidu.com/api/v1/runtime/coupons/data
那么如何實現(xiàn)訪問 http://www.baidu.com/api/v1/runtime/coupons/data 跳轉到 http://192.168.31.2:8085/runtime/coupons/data 呢?
這樣,就可以使用nginx對coupons服務接口進行轉發(fā)了
三、nginx.conf 配置詳解
這里我給來2張圖,對 正向代理 (正向代理類似一個跳板機,代理訪問外部資源,內(nèi)->外)與 反響代理 (代理將來自外網(wǎng)客戶端的請求轉發(fā)到內(nèi)網(wǎng)服務器,外->內(nèi))做個詮釋。
總結
正向代理即是客戶端代理, 代理客戶端, 服務端不知道實際發(fā)起請求的客戶端.
反向代理即是服務端代理, 代理服務端, 客戶端不知道實際提供服務的服務端
Nginx在做反向代理時,提供性能穩(wěn)定,并且能夠提供配置靈活的轉發(fā)功能。Nginx可以根據(jù)不同的正則匹配,采取不同的轉發(fā)策略,比如圖片文件結尾的走文件服務器,動態(tài)頁面走web服務器,只要你正則寫的沒問題,又有相對應的服務器解決方案,你就可以隨心所欲的玩。并且Nginx對返回結果進行錯誤頁跳轉,異常判斷等。如果被分發(fā)的服務器存在異常,他可以將請求重新轉發(fā)給另外一臺服務器,然后自動去除異常服務器。
Nginx提供的負載均衡策略有2種:內(nèi)置策略和擴展策略。內(nèi)置策略為輪詢,加權輪詢,Ip hash。擴展策略,就天馬行空,只有你想不到的沒有他做不到的啦,你可以參照所有的負載均衡算法,給他一一找出來做下實現(xiàn)。
上3個圖,理解這三種負載均衡算法的實現(xiàn)
Ip hash算法,對客戶端請求的ip進行hash操作,然后根據(jù)hash結果將同一個客戶端ip的請求分發(fā)給同一臺服務器進行處理,可以解決session不共享的問題。
Nginx可以對不同的文件做不同的緩存處理,配置靈活,并且支持FastCGI_Cache,主要用于對FastCGI的動態(tài)程序進行緩存。配合著第三方的ngx_cache_purge,對制定的URL緩存內(nèi)容可以的進行增刪管理。
默認的config(nginx.conf里面使用incloud包含conf.d下的配置文件)
nginx.conf:
config.d/default.conf:
1、全局塊:配置影響nginx全局的指令。一般有運行nginx服務器的用戶組,nginx進程pid存放路徑,日志存放路徑,配置文件引入,允許生成worker process數(shù)等。
2、events塊:配置影響nginx服務器或與用戶的網(wǎng)絡連接。有每個進程的最大連接數(shù),選取哪種事件驅動模型處理連接請求,是否允許同時接受多個網(wǎng)路連接,開啟多個網(wǎng)絡連接序列化等。
3、http塊:可以嵌套多個server,配置代理,緩存,日志定義等絕大多數(shù)功能和第三方模塊的配置。如文件引入,mime-type定義,日志自定義,是否使用sendfile傳輸文件,連接超時時間,單連接請求數(shù)等。
4、server塊:配置虛擬主機的相關參數(shù),一個http中可以有多個server。
5、location塊:配置請求的路由,以及各種頁面的處理情況。
四、在內(nèi)網(wǎng)通過nginx可以外網(wǎng)訪問指定的網(wǎng)站,只能訪問這一個網(wǎng)站。
nginx比較適用作反向代理服務器,不過也支持正向代理
作為正向代理服務器,可以參考下這篇博客
Linux服務器通過Nginx正向代理上網(wǎng)
詳細了解nginx的正向反向代理信息,可以參考這兩篇博客
nginx功能圖解
nginx快速搭建及常用命令,策略配置,錯誤排查方法
以上就是關于nginx轉發(fā)內(nèi)網(wǎng)到外網(wǎng)相關問題的回答。希望能幫到你,如有更多相關問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。
推薦閱讀:
bing和edge軟件(bing和edge有什么區(qū)別)
messenger收不到驗證碼(為什么messenger收不到圖片)
網(wǎng)店網(wǎng)絡營銷策略(網(wǎng)店網(wǎng)絡營銷策略開題報告)