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 和监听端口即可。

相关推荐
龙虾PRO1 小时前
能源与股票量化核心差异,AI全链路落地实操手册
java·面试·职场和发展
llwszx1 小时前
【Java/Go后端手撸原生Agent(第九篇):Plan-and-Execute规划模式——从“走一步看一步“到“先谋后动“】
java·python·golang·agent开发·plan模式·规划执行模式
ZJH__GO2 小时前
网络编程v2--多客户端互通
java·运维·服务器·开发语言·计算机网络
霸道流氓气质2 小时前
SpringBoot中基于 AES-GCM + KMS 密钥管理的数据加解密 Starter 实践
java·数据库·spring boot
顧棟2 小时前
Zookeeper热缩容解析
linux·服务器·zookeeper
Gofarlic_OMS2 小时前
NX浮动许可调度黑名单机制,对比两款谁更合理
java·大数据·运维·开源·制造
三言老师2 小时前
CentOS7.9:Redis服务器部署结构化实战教程
linux·运维·服务器·数据库
乐观的Terry2 小时前
8、发布系统-完整流水线的核心
java·spring boot·spring·spring cloud
Alexalbb2 小时前
从角色过滤到可审计授权:单体系统数据权限设计复盘与演进
java
味悲3 小时前
Linux提权
linux·服务器·安全