nginx 通过 stream 实现 对 Tcp端口的侦听及转发 【firewall】
  qaXee3gSvBFs 2023年11月02日 40 0

十年河东,十年河西,莫欺少年穷

学无止境,精益求精

更详细的资料,请参阅:​​https://www.zybuluo.com/orangleliu/note/478334​

本篇博客用到 linux 防火墙开通端口,因此先贴出防火墙相关指令

firewall-cmd --list-ports # 查看开放的端口号
firewall-cmd --zone=public --add-port=8888/tcp --permanent # 开放对应端口号:8888
firewall-cmd --zone=public --remove-port=80/tcp --permanent # 关闭端口号
firewall-cmd --reload # 重启防火墙
systemctl status firewalld.service # 查看防火墙状态
systemctl stop firewalld.service # 关闭防火墙
systemctl disable firewalld.service # 永久关闭防火墙
systemctl enable firewalld.service # 开机启动防火墙

redis 侦听 TCP端口,需要在HTTP同级别下添加 stream 节点

注意:stream 节点同 http 节点同级

events {
worker_connections 1024;
}

stream {
upstream tcp_port {
hash $remote_addr consistent;
server 192.168.136.136:5574;
}
server {
listen 5574;
#  listen 10000 udp; 如需代理udp端口则在端口后面加udp即可
proxy_pass tcp_port;
           tcp_nodelay on;

          proxy_timeout 2s;

}
}

http {
include mime.types;
default_type application/octet-stream;

nginx 通过 stream 实现 对 Tcp端口的侦听及转发 【firewall】_端口号


上述配置说明 侦听Nginx服务器5574端口,通过Nginx服务器,访问目标服务器5574端口。

如果你做Redis集群 或 mySQL集群时,在 upstream 节点下可添加多台服务器【ip+端口】,达到负载均衡的目的


 配置好nginx后,分别在nginx 服务器 和 目标服务器开通 5574 端口

[root@localhost nginx]# firewall-cmd --zone=public --add-port=5574/tcp --permanent 
success
[root@localhost nginx]# firewall-cmd --reload

最后,我们可以通过telnet nginx 服务器 5574 端口,检测是否配置成功。


最后贴出负载均衡相关配置【redis 及 tomcat】

nginx 通过 stream 实现 对 Tcp端口的侦听及转发 【firewall】_服务器_02




【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
qaXee3gSvBFs
最新推荐 更多