欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nginx配置四層、七層網(wǎng)絡(luò)代理轉(zhuǎn)發(fā)的方法示例

 更新時間:2024年03月08日 16:12:32   作者:銀空飛羽  
nginx作為透明代理可以充分利用其高性能和靈活性來實現(xiàn)網(wǎng)絡(luò)流量的轉(zhuǎn)發(fā)和處理,本文主要介紹了Nginx配置四層、七層網(wǎng)絡(luò)代理轉(zhuǎn)發(fā)的方法示例,具有一定的參考價值,感興趣的可以了解一下

寫在前面

最近工作中有個需求,三個網(wǎng)絡(luò)區(qū)域A、B、C。A可以和B互通,A與C不互通,B與C互通?,F(xiàn)在需要從A區(qū)域發(fā)送數(shù)據(jù)到C區(qū)域固定地址。顯而易見,搭建一個網(wǎng)絡(luò)代理就可以了。

但是又有兩種請求,一種是加密的七層GRPC協(xié)議的數(shù)據(jù),一種是七層HTTP請求的數(shù)據(jù)。研究之后,GRPC協(xié)議的數(shù)據(jù)需要做四層透明代理轉(zhuǎn)發(fā)到目的地址,HTTP就正常走七層轉(zhuǎn)發(fā)。于是決定使用Nginx來滿足需求。

GRPC四層代理配置

首先GPRC協(xié)議是一個基于HTTP2的七層協(xié)議,所以它是需要證書加解密的??蛻舳思用?,服務(wù)端解密,所以在傳輸過程中我并不需要做什么操作,直接讓數(shù)據(jù)傳遞過去就行了,僅僅是提供一個網(wǎng)絡(luò)隧道。

(這里之前踩了坑,一直想通過配置GRPC協(xié)議來進(jìn)行轉(zhuǎn)發(fā),實際上壓根沒必要)

所以,這種場景下,只需要提供一個四層的透明代理就可以了,只要讓它經(jīng)過代理送到目的地就行了。

在Nginx的配置文件中,與http同級別作如下配置

stream {
    log_format  proxy '$remote_addr -  [$time_local]  $status $protocol'
                      '"$upstream_addr" "$upstream_bytes_sent" "$upstream_connect_time"' ;
    #調(diào)用日志,使用proxy格式
    access_log /var/log/nginx/tcp_proxy.log proxy;

    upstream grpcservers {
            server ip1:port;
            server ip2:port;
        }
        server {
            listen 12345;
            proxy_pass grpcservers;
        }


}

http {

  ...
}

結(jié)構(gòu)大概如上,如果沒有http需求可以直接刪掉,寫出來只是為了表達(dá)與http同級別。

stream就是配置四層代理的,在例子中我通過upstream來定義多個目的server用來達(dá)到負(fù)載均衡的效果。然后在下面的server中監(jiān)聽了12345端口,同時通過proxy_pass指向了轉(zhuǎn)發(fā)目的地址即上述的upstream的內(nèi)容。

如此一來,所有發(fā)向該Nginx IP 12345端口的數(shù)據(jù)都會被轉(zhuǎn)發(fā)到對應(yīng)的地址,即完成了四層透明代理。

HTTP七層代理配置

七層的就相對簡單多了,直接在http中添加即可

http{
	...

			server {
            listen 80;
            server_name test.example.com;
            location / {
                proxy_pass http://test.target.com ;
            }
  		}
  ...
}

如上配置,監(jiān)聽了80端口,同時設(shè)置了server_name,這代表來源請求Host為test.example.com的都會走下面的這層location跳轉(zhuǎn),即代理到http://test.target.com這個地址,并包含路由path。

例如:A區(qū)域的機(jī)器請求到B中的該Nginx,請求內(nèi)容為GET一下http://test.target.com/admin/test ,那么相應(yīng)的,經(jīng)過Nginx代理之后變?yōu)?code>http://test.target.com/admin/test。

最后

本篇文章主要涉及Nginx的一些代理使用,來源于工作時,設(shè)計的一個方案中碰到的一個跨網(wǎng)數(shù)據(jù)傳輸?shù)膯栴},上述方法已經(jīng)滿足需求。

到此這篇關(guān)于Nginx配置四層、七層網(wǎng)絡(luò)代理轉(zhuǎn)發(fā)的方法示例的文章就介紹到這了,更多相關(guān)Nginx配置四層、七層網(wǎng)絡(luò)代理轉(zhuǎn)發(fā)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • nginx部署前端dist包詳細(xì)圖文教程

    nginx部署前端dist包詳細(xì)圖文教程

    本文介紹了如何下載Nginx的穩(wěn)定版,并對下載后的壓縮包進(jìn)行解壓和配置,涵蓋了將文件放入html目錄、修改nginx.conf配置文件以及啟動Nginx的步驟,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-10-10
  • nginx配置反向代理到gin的方法步驟

    nginx配置反向代理到gin的方法步驟

    本文使用Nginx進(jìn)行反向代理到Gin應(yīng)用的配置步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11
  • Nginx+IIS簡單的部署教程

    Nginx+IIS簡單的部署教程

    這篇文章主要為大家詳細(xì)介紹了Nginx+IIS簡單的部署教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Nginx配置PATHINFO隱藏thinkphp index.php

    Nginx配置PATHINFO隱藏thinkphp index.php

    這篇文章主要介紹了Nginx配置PATHINFO隱藏thinkphp index.php,本文直接給出配置示例,需要的朋友可以參考下
    2015-07-07
  • windows系統(tǒng)下關(guān)閉Nignx的多種方式總結(jié)

    windows系統(tǒng)下關(guān)閉Nignx的多種方式總結(jié)

    這篇文章主要給大家總結(jié)介紹了windows系統(tǒng)下關(guān)閉Nignx的多種方式, 在Windows中啟動Nginx是簡單的,但有許多小伙伴不會關(guān)閉,這里給大家介紹下,需要的朋友可以參考下
    2023-08-08
  • Nginx could not build the server_names_hash 錯誤的解決辦法

    Nginx could not build the server_names_hash 錯誤的解決辦法

    這篇文章主要介紹了Nginx could not build the server_names_hash 錯誤的解決辦法,需要的朋友可以參考下
    2014-03-03
  • 使用Nginx解決跨域訪問問題的完整案例

    使用Nginx解決跨域訪問問題的完整案例

    在現(xiàn)代的Web開發(fā)中,跨域訪問是一種常見的需求,由于瀏覽器的同源策略,不同域名之間的訪問存在一定的限制,本文將介紹如何使用Nginx來解決跨域訪問的問題,并通過一個完整的實例來展示,需要的朋友可以參考下
    2024-03-03
  • nginx代理多次302的解決方法(nginx Follow 302)

    nginx代理多次302的解決方法(nginx Follow 302)

    這篇文章主要介紹了nginx代理多次302的解決方法(nginx Follow 302),詳細(xì)的介紹了解決方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • 詳解Nginx服務(wù)器中配置Sysguard模塊預(yù)防高負(fù)載的方案

    詳解Nginx服務(wù)器中配置Sysguard模塊預(yù)防高負(fù)載的方案

    這篇文章主要介紹了詳解Nginx服務(wù)器中配置Sysguard模塊預(yù)防高負(fù)載的方案,該模塊由阿里巴巴的團(tuán)隊開發(fā),能夠設(shè)置負(fù)載閥值,比較強大,需要的朋友可以參考下
    2016-01-01
  • 詳解如何在Nginx中設(shè)置文件上傳大小限制

    詳解如何在Nginx中設(shè)置文件上傳大小限制

    在使用 Nginx 進(jìn)行文件上傳時,我們可能需要對上傳文件的大小進(jìn)行限制,以防止用戶上傳過大的文件導(dǎo)致服務(wù)器負(fù)載過高,本文將介紹如何在 Nginx 中設(shè)置文件上傳大小限制,需要的朋友可以參考下
    2023-07-07

最新評論