Nginx实现TCP流量转发

dkm
dkm
2022-12-18 / 0 评论 / 13 阅读 / 正在检测是否收录...

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端口上
Test
实测,本地22端口被转发到了8022端口上
Windows 10 tcping测试
Test
测试已监听8022端口
Windows10 OpenSSH测试8022端口
Test
Windows10测试已成功

0

评论

博主关闭了所有页面的评论