Nginx反向代理tcp请求
· 技术积累 · Nginx Tcp转发

需要访问的服务没有一个合适的访问地址(例如云服务没有公网地址的),就可以使用nginx的tcp反向代理来实现访问

前提:nginx需启用ngx_stream_core_module模块,在编译时加上此参数 --with-stream 即代表启用

redis反向代理示例(修改nginx配置文件):

#stream 要写http模块之前


# so_keepalive=on 配置是否在监听的端口启用“TCP keepalive”机制
# proxy_connect_timeout  定义用于与代理服务器建立连接的超时。请注意,此超时通常不能超过75秒
# max_fails=2 fail_timeout=20s;  连接失败2次,10秒内不再次尝试此连接

······
events {
    worker_connections  65532;
    multi_accept on;
    use epoll;

}

#tcp反向代理
stream {
    # 定义负载均衡组
    upstream redis{
        hash $remote_addr consistent;
        server 10.12.12.12:6379 max_fails=2 fail_timeout=10s;
    }
    # 设置反向代理
    server {
        listen 30010 so_keepalive=on;
        proxy_connect_timeout 60s;
        proxy_pass redis;
    }
}

http {
······
    server {
    ······
    }

}

本文最后更新时间 2024-03-30
文章链接地址:
https://hope.jinchuang.org/archives/911.html
本站文章除注明[转载|引用],均为本站原创内容,转载前请注明出处
Nginx 配置 Referer 防盗链
MAXMIND 免费的GeoLite2数据库分享
不允许空 Referer访问,可以使用反向代理解决
在Nginx中配置使用Geoip2模块

Linux tar zip加解密打包压缩文件

Shell多终端同步会话过程

我要留言