首页 > 编程知识 正文

nginx反向代理tcp端口,telnet通过域名测试端口

时间:2023-05-03 18:24:48 阅读:215115 作者:3259

碰到一种场景,使用nginx进行反向代理tcp端口,网上大部门的设置都是一个端口代理一个端口,没有一个端口通过域名代理后端多个端口的情况。
在sf上面看到一个设置教程,记录下

只需要修改nginx.conf,添加如下配置即可,

stream { map $ssl_preread_server_name $name { mysql.test.com mysql; redis.test.com redis; default https_default_backend; } upstream mysql{ server 10.0.0.3:3306; } upstream redis{ server 10.0.0.4:6379; } upstream https_default_backend { server 127.0.0.1:443; } server { listen 10.0.0.1:443; proxy_pass $name; ssl_preread on; }}

stream 模块可能会没有。百度下nginx 添加stream 模块即可

stream 是一个单独的模块,不需要放在nginx-http配置中,放在nginx.conf最后即可

或者

stream { upstream mysql{ server 10.1.5.3:3306; } upstream redis{ server 10.1.5.4:6379; } map $server_addr $bane { 192.168.168.238 mysql; 192.168.168.239 redis; } server { listen 80; proxy_pass $name; }}

只需要把map中参数变成域名即可

参考:

https://stackoverflow.com/questions/34741571/nginx-tcp-forwarding-based-on-hostname/40135151#40135151

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。