需要访问的服务没有一个合适的访问地址(例如云服务没有公网地址的),就可以使用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://me.jinchuang.org/archives/911.html
本站文章除注明[转载|引用|来源],均为本站原创内容,转载前请注明出处
文章链接地址:https://me.jinchuang.org/archives/911.html
本站文章除注明[转载|引用|来源],均为本站原创内容,转载前请注明出处