nginx配置为四层代理(TCP代理),实现对TCP流量的代理。步骤如下:
1. 在http块外添加stream块,用于定义四层代理配置:
nginx http { ... } stream { ... #四层代理配置 }
2. 在stream块中添加upstream定义上游服务器池:
nginx upstream stream_backend { server 127.0.0.1:8000; server 127.0.0.1:8001; }
3. 添加server来将流量代理至上游服务器池:
nginx server { listen 12345; #监听端口 proxy_pass stream_backend; #代理至上游服务器池 }
4. 可选:可以添加proxy_connect_timeout、proxy_timeout等参数调整超时时间。所以,一个完整的四层代理示例配置为:
nginx http { ... } stream { upstream stream_backend { server 127.0.0.1:8000; server 127.0.0.1:8001; } server { listen 12345; proxy_pass stream_backend; } }
这个配置会:- 定义两个上游服务器127.0.0.1:8000和127.0.0.1:8001
- 监听12345端口
- 将12345端口接收到的TCP流量代理至上游服务器客户端可以连接nginx的12345端口,nginx会将流量转发至上游服务器,实现四层代理。