Nginx實現TCP反向代理

    默認Nginx只支持http的反向代理,要想nginx支持tcp的反向代理,還需要在編譯時增加tcp代理模塊支持,即nginx_tcp_proxy_module

    下面操作步驟只讓nginx支持tcp_proxy,沒有加入prcegzipssl等功能,如需要,可自行在編譯時加上相關參數。

 

wget https://github.com/yaoweibin/nginx_tcp_proxy_module/archive/master.zip

unzip master

cd nginx-1.6.2

patch -p1 </opt/nginx_tcp_proxy_module-master/tcp.patch

./configure  --add-module=/opt/nginx_tcp_proxy_module-master

make

make install

 

nginx.conf主配置文件中增加如下配置配置:(也可以在主配置文件中配置include,包含tcp轉發的配置文件

include /opt/nginx_tcp_proxy_module-master/tcp_proxy.conf

 

tcp {

    upstream proxy_name {

        # simple round-robin

        server 192.168.1.10:8000;

        server 192.168.1.10:8001;

        server 192.168.1.11:8000;

        server 192.168.1.11:8001;

 

        check interval=3000 rise=2 fall=5timeout=1000;

        #check interval=3000 rise=2 fall=5timeout=1000

        #check interval=3000 rise=2 fall=5timeout=1000

        #check_http_send "GET /HTTP/1.0\r\n\r\n";

        #check_http_expect_alive http_2xxhttp_3xx;

    }

 

    server {

        listen 8888;

 

        proxy_pass proxy_name;

    }

}

說明:

check interval 健康檢查,單位是毫秒

rise 檢查幾次正常後,將reslserver加入以負載列表中

fall 檢查幾次失敗後,摘除realserver

timeout 檢查超時時間,單位許毫秒

具體可查看nginx_tcp_proxy_module-master/README,很詳細。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章