您的位置:首页 > 理论基础 > 计算机网络

Nginx实现TCP反向代理

2015-03-16 11:28 302 查看
默认Nginx只支持http的反向代理,要想nginx支持tcp的反向代理,还需要在编译时增加tcp代理模块支持,即nginx_tcp_proxy_module

下面操作步骤只让nginx支持tcp_proxy,没有加入prce、gzip、ssl等功能,如需要,可自行在编译时加上相关参数。

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,很详细。

本文来自:Linux学习网
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: