本站所有文章均为原创,如对您有帮助,恳请帮忙点击任何一处广告
  • 首页
  • Nginx
  • 【Nginx模块配置教程】基于四层TCP协议配置代理实现跳板机功能

【Nginx模块配置教程】基于四层TCP协议配置代理实现跳板机功能

发布:TangLu2018-12-8 0:26分类: Nginx 标签: Nginx

Nginx不仅可以在TCP/IP的七层进行反向代理,实现根据location进行灵活的转发。还可以对四层网络协议进行代理,实现一个隧道功能,代替Haproxy。比如客户端需要请求内网服务,这个时候可以对一个具有公网IP并且和内网服务器能互通的Nginx服务器进行配置,在Nginx服务器上配置一个其他端口(不能和目标端口一样),将请求该端口的客户端转发到内网的服务器上。该功能依赖于ngx_stream_core_module。

下面是配置示例:

stream {  #定义stream,类似nginx的upstream
#定义了一个ssh的代理
    upstream ssh_proxy {
        hash  $remote_addr  consistent;
        server    192.168.1.100:22;
    }
#定义了一个mysql的代理
    upstream mysql_proxy {
        hash  $remote_addr  consistent;
        server    192.168.1.100:3306;
    }
#引用代理
    server {
        listen 6666;  #这个端口是nginx的代理端口
        proxy_connect_timeout 10s;
        proxy_timeout 30s;
        proxy_pass ssh_proxy;  #将访问nginx_ip:6666的请求代理到ssh_proxy这个upstream里的server地址
    }
    server {
        listen 7777;
        proxy_connect_timeout 10s;
        proxy_timeout 30s;
        proxy_pass mysql_proxy;
    }
}


启动Nginx后就会监听6666端口,这个时候客户端访问6666端口会跳转到后端服务器的22端口,使用MySQL客户端工具去连接Nginx服务器7777端口也会跳转到后端3306端口。

ssh -p 6666 root@222.121.1.47


温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!
et_highlighter51
版权所有:《Linux运维技术学习站点
文章标题:《【Nginx模块配置教程】基于四层TCP协议配置代理实现跳板机功能
除非注明,文章均为 《Linux运维技术学习站点》 原创
转载请注明本文短网址:http://www.linuxe.cn/post-460.html  [生成短网址]

已有 0/5050 人参与

发表评论:

欢迎分享Linux运维技术学习站点

欢迎使用手机扫描访问本站,还可以关注微信哦~