前文Nginx TCP Proxy模块的编译安装描述了如何编译tcp proxy module。现在来实验一下如何用。
首先要创建一个日志目录,因为t该模块的日志默认不在/var/log/nginx目录下
mkdir -p /etc/nginx/logs/
在nginx.conf文件中添加下面一节:
tcp {
upstream tcpend {
server localhost:7778;
check interval=3000 rise=2 fall=5 timeout=1000;
}
server {
listen 7777;
proxy_pass tcpend;
}
}
注意,协议是tcp,不能将配置放在http下面。
然后启动本地的某个tcp程序,监听端口7778。用测试程序发起一个7777的连接请求,测试通过。而且不影响http的代理。
但是这个也有副作用,当服务端关闭连接的时候,客户端不可能立刻发觉连接已经被关闭,需要等到:
当Nginx在执行check规则时认为服务端链接关闭,Nginx会关闭与客户端的连接。
此时客户端才能察觉到连接关闭