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

相关推荐
5***8464几秒前
Spring Boot的项目结构
java·spring boot·后端
Lam㊣几秒前
服务器端口转发的方法
linux·服务器
SimonKing1 分钟前
基于Netty的TCP协议的Socket客户端
java·后端·程序员
程序员飞哥1 分钟前
几年没面试,这次真的被打醒了!
java·面试
ChangYan.2 分钟前
Windows命令行(cmd)下快速查找文件路径(类似Linux下find命令)
linux·运维·服务器
Learner12 分钟前
Python异常处理
java·前端·python
tao35566715 分钟前
VS Code登录codex,报错(os error 10013)
java·服务器·前端
信创天地22 分钟前
核心系统去 “O” 攻坚:信创数据库迁移的双轨运行与数据一致性保障方案
java·大数据·数据库·金融·架构·政务
小杰帅气23 分钟前
神秘的环境变量和进程地址空间
linux·运维·服务器
mjhcsp24 分钟前
C++ AC 自动机:原理、实现与应用全解析
java·开发语言·c++·ac 自动机