Nginx的功能非常强大,Nginx从1.9之后开始支持了TCP 以及UDP流量转发的功能,Nginx以前转发流量只能通过第七层的HTTP流量转发,不能直接通过第四层的流量转发,非常消耗服务器资源;
这里就使用OpenSSH的22端口转发到8022端口上,
Nginx配置TCP流量转发
写在开头,stream插件的配置文件等级和http同级,因为http模块里面只能写网站配置文件的内容,stream只能写第四层流量转发的内容,两者不能混着写在一起。stream参数仅可以写TCP/UDP转发配置,http参数只能写网站配置文件参数。
配置前先修改Nginx的主配置文件
nano /etc/nginx/nginx.conf
#Nginx主配置文件
#省略上部分
stream {
#引用外部文件
include /etc/nginx/stream.d/*.conf;
}
配置Nginx网站配置文件
nano /etc/ngixn/stream.d/192.168.197.141.conf
#用之前的配置文件为基础修改配置文件
#Nginx配置文件部分
stream {
upstream local_ssh{
server 127.0.0.1:22;
}
server {
#注意一点,不能配置server_name在stream配置文件里面
listen 8022;
proxy_pass local_ssh;
}
}
测试8022是不是转发到了22端口上
实测,本地22端口被转发到了8022端口上
Windows 10 tcping测试
测试已监听8022端口
Windows10 OpenSSH测试8022端口
Windows10测试已成功
评论