Java配置49-nginx 反向代理 sftp 服务器

1. 背景

后端服务需要通过部署在跳板机上的 nginx 访问一个外网的 SFTP 服务器。

2. 方法

nginx从 1.9.0 开始,新增加了一个stream模块,用来实现四层协议的转发、代理或者负载均衡等。

首先检查 nginx 版本信息及是否安装了 stream 模块。

进入 nginx sbin 目录,执行命令:

shell 复制代码
./nginx -V

重新安装 nginx,在 configure 时加上 --with-stream

shell 复制代码
./configure --prefix=/home/XX/nginx2sftp --with-http_ssl_module --with-stream

安装完成后可以将先前的 nginx.conf 复制过来。启动新 nginx 后,在检查 nginx 版本信息:

然后,修改 nginx.conf

复制代码
stream {
        upstream sftp{ #自定义命名
                hash $remote_addr consistent;
                server sftp服务器的ip:sftp服务器的端口 max_fails=3 fail_timeout=60s;
        }       

        server {
                listen 11002;#本地的监听端口
                proxy_connect_timeout 300s;
                proxy_timeout 300s;
                proxy_pass sftp;
        }       
}

将上面的文字放在 http 模块上面,然后重启 nginx。

例如代码访问时,只需将外网的 SFTP 服务器的IP和端口,换成 nginx 的 IP 和监听端口即可。

相关推荐
Umi·3 小时前
iptables的源地址伪装
运维·服务器·网络
j***29483 小时前
springboot集成onlyoffice(部署+开发)
java·spring boot·后端
阿巴~阿巴~5 小时前
自定义协议设计与实践:从协议必要性到JSON流式处理
服务器·网络·网络协议·json·操作系统·自定义协议
叫致寒吧7 小时前
Tomcat详解
java·tomcat
测试界的海飞丝11 小时前
10道软件测试面试题及其答案:
服务器·测试工具·职场和发展
skywalk816311 小时前
linux安装Code Server 以便Comate IDE和CodeBuddy等都可以远程连上来
linux·运维·服务器·vscode·comate
S***267511 小时前
基于SpringBoot和Leaflet的行政区划地图掩膜效果实战
java·spring boot·后端
马剑威(威哥爱编程)12 小时前
鸿蒙6开发视频播放器的屏幕方向适配问题
java·音视频·harmonyos
@游子12 小时前
内网渗透笔记-Day5
运维·服务器