nginx TCP代理
1. nginx stream 模块
nginx从1.9.0版本以后,便新增了一个stream模块,用来实现四层协议的转发、代理或者负载均衡等;
stream模块默认并没有编译到nginx中,源码编译安装nginx时, ./configure –with-stream
即可!
2. 实现四层正向代理
操作环境:
- yum安装的nginx;
- nginx版本为1.16.1;
- 操作系统:centos 7.2
使用yum安装的nginx,默认自带了stream模块!
编辑nginx配置文件时,注意stream字段与http字段属于同一级字段!本人不习惯在nginx的主配置文件中进行编辑,但是主配置文件需要适当进行修改,自行修改!
$ vim /etc/nginx/conf.d/ssh.conf
stream {
upstream ssh {
server 192.168.41.21:22;
}
server {
listen 8080;
proxy_pass ssh;
proxy_connect_timeout 1h;
proxy_timeout 1h;
}
}
$ ssh centos@192.168.3.102 -p 8080
# 进行测试,测试登录的密码是192.168.41.21的密码!
scp指定端口进行传输:
$ scp -P10086 zp.tar root@111.222.123.01:
# 指定的端口是10086
如果测试不成功,也有可能是防火墙的原因,根据实际情况添加防火墙规则,SELinux建议关闭!
*************** 当你发现自己的才华撑不起野心时,就请安静下来学习吧!***************