zoukankan      html  css  js  c++  java
  • Nginx代理TCP服务

    利用nginx代理tpc

    部署nginx

    安装编译所需环境
    # yum install -y apr-devel apr-util-devel pcre-devel openssl-devel
    
    添加www用户,用于给nginx服务器运行使用
    # useradd -s /sbin/nologin -M www
    
    下载nginx的源码包,编译安装nginx
    # cd /usr/local/src/ && wget -c http://nginx.org/download/nginx-1.12.0.tar.gz
    
    解压nginx-1.12.0
    # tar -zxvf nginx-1.12.0.tar.gz
    
    官方文档地址
    http://nginx.org/en/docs/stream/ngx_stream_core_module.html
    
    切换到nginx的解压目录
    # cd nginx-1.12.0/
    
    检测编译环境,编译安装nginx-1.12.0实现代理端口等功能,需要指定--with-stream的编译参数
    # ./configure --prefix=/usr/local/nginx-1.12.0 --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-file-aio --with-stream
    
    编译安装nginx
    # make -j 2 && make install
    
    最佳实现方式,创建软连接
    # ln -sv /usr/local/nginx-1.12.0/ /usr/local/nginx
    
    编辑nginx.conf配置文件
    # vim /usr/local/nginx-1.12.0/conf/nginx.conf
    
    在配置文件中最外层添加如下内容,代理本机(192.168.1.3)的8888端口,通过8888端口远程链接到192.168.1.5的节点
    stream {
    upstream tcp_proxy {
        hash $remote_addr consistent;
        server 192.168.1.5:22   max_fails=3 fail_timeout=30s;
    }
    
    server {
        listen 8888 so_keepalive=on;
        proxy_connect_timeout 10s;
        proxy_timeout 300s;
        proxy_pass tcp_proxy;
    	}
    
    }
    
    注意:
       so_keepalive=on            设置长链接(如需不用,可以删除)
    	proxy_timeout             与后端的过期时间
    
    检查配置文件是否正确
    # /usr/local/nginx/sbin/nginx -t
    
    启动nginx服务
    # /usr/local/nginx/sbin/nginx
    

    效果图,通过nginx实现代理本机的8888端口去远程链接192.168.1.5 22号端口的ssh服务

  • 相关阅读:
    vue中使用$router.push跳转新页面
    08、TypeScript 装饰器
    07、TypeScript 命名空间
    06、TypeScript 类型、接口、类、泛型 综合使用,封装一个操作数据库的库
    Java课程总结
    Java第六次上机
    Java第三次上级
    Java第一次上机
    Java第二次实训
    Java第五次上机
  • 原文地址:https://www.cnblogs.com/demon89/p/nginx_tcp.html
Copyright © 2011-2022 走看看