nginx采用反向代理转发ssh服务

nginx采用反向代理转发ssh服务
nginx stream模块简介
nginx从1.9.0开始,新增加了一个stream模块,用来实现四层协议的转发、代理或者负载均衡等。
stream 模块编译
stream模块默认没有编译到nginx, 编译nginx时候 ./configure –with-stream 即可。
我的nginx版本是nginx/1.12.2。操作系统是centos,采用的是yum 直接安装,默认自带stream模块
编辑/etc/nginx/nginx.conf 文件,采用反向代理,配置ssh内网转发
worker_processes  1;
events {
worker_connections  1024;
}

stream {  #stream模块,就跟http模块一样
upstream ssh {
server  192.168.41.21:22;
}
server { #里面可以有多个监听服务,配置监听端口和代理的ip和端口就可以进行tcp代理了
listen       8080;
proxy_pass ssh;
proxy_connect_timeout 1h;
proxy_timeout 1h;
}
}

测试:
[root@nginx-web ~]# ssh [email protected] -p 8080

如果不能成功,可能跟防火墙有关系,根据自己网络情况禁止seclinux或者加入防火墙规则。

eg: iptables -A IN_public_allow -p tcp -m tcp --dport 8080 -m conntrack --ctstate NEW -j ACCEPT

你可能感兴趣的:(nginx)