(一)nginx正向代理sftp

1.概述

目前由于行内网络规划以及安全的原因,不能直接从应用区域直接访问第三方SFTP文件服务器,只能允许代理服务器网络区域出去,也就是SFTP正向代理转发到第三方的SFTP文件服务器,而我们使用的代理应用软件则是开源的nginx。

nginx从1.9.0开始,新增加了一个stream模块,用来实现四层协议的转发、代理或者负载均衡等。这完全就是抢HAproxy份额的节奏,鉴于nginx在7层负载均衡和web service上的成功,和nginx良好的框架,stream模块前景一片光明。(这段从别人文章上扒拉来的( ̄艸 ̄")

ngx_stream_core_module模块
是模拟反代基于tcp或udp的服务连接,即工作于传输层的反代或调度器

安装nginx

1.下载安装包
http://nginx.org/en/download.html nginx下载网站,我选择的是1.16版本
#wgethttp://nginx.org/download/nginx-1.16.1.tar.gz
#tar -xvf nginx-1.16.1.tar.gz && cd nginx-1.16.1

2.安装依赖包
#yum -y install gcc gcc-c++ autoconf automake
#yum -y install zlib zlib-devel openssl openssl-devel pcre-devel

#./configure --prefix=/home/deploy/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-stream
#make && make install

3.安装完毕,可以查看下模块安装是否成功
#/home/deploy/nginx/sbin/nginx -V
(一)nginx正向代理sftp

修改配置文件

vim nginx.conf

 stream {
    upstream sftp {
    hash $remote_addr consistent;
    server 192.168.0.16:22 max_fails=3 fail_timeout=60s; #要转发的sftp地址端口
    }
    
    server {
            listen 8080;
            proxy_connect_timeout 60s;
            proxy_timeout  30s;
            proxy_pass sftp;
    }
    }

注释:
这个模块一定要放在http外面
max_fails=3 fail_timeout=60s; 含义
将端口8080反向代理sftp组的192.168.0.16:22,最大失败次数为3,超时时间为60秒;

./nginx -t 检查配置文件

上一篇:Linux云服务器等远程登录和常用工具讲解使用


下一篇:java 通过sftp服务器上传下载删除文件