背景
有时候内网的服务器需要把服务提供给外网访问,但是这个内网的服务器没有公网ip,所以可以在一台有公网ip的nginx服务器配置TCP请求转发,把内网服务的端口映射出来到公网
配置说明
添加与http同级配置stream
stream {
# 添加socket转发的代理
upstream socket_proxy {
hash $remote_addr consistent;
# 转发的目的地址和端口
server 10.40.0.103:5050 weight=5 max_fails=3 fail_timeout=30s;
}
# 提供转发的服务,即访问localhost:5050,会跳转至代理socket_proxy指定的转发地址
server {
listen 5050;
proxy_connect_timeout 1s;
proxy_timeout 3s;
proxy_pass socket_proxy;
}
}