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

相关推荐
FQNmxDG4S6 小时前
Java多线程编程:Thread与Runnable的并发控制
java·开发语言
青梅橘子皮6 小时前
Linux---基本指令
linux·运维·服务器
虹科网络安全7 小时前
艾体宝干货|数据复制详解:类型、原理与适用场景
java·开发语言·数据库
axng pmje7 小时前
Java语法进阶
java·开发语言·jvm
rKWP8gKv78 小时前
Java微服务性能监控:Prometheus与Grafana集成方案
java·微服务·prometheus
老前端的功夫8 小时前
【Java从入门到入土】28:Stream API:告别for循环的新时代
java·开发语言·python
qq_435287928 小时前
第9章 夸父逐日与后羿射日:死循环与进程终止?十个太阳同时值班的并行冲突
java·开发语言·git·死循环·进程终止·并行冲突·夸父逐日
小江的记录本8 小时前
【Kafka核心】架构模型:Producer、Broker、Consumer、Consumer Group、Topic、Partition、Replica
java·数据库·分布式·后端·搜索引擎·架构·kafka
cui_ruicheng8 小时前
Linux进程间通信(三):System V IPC与共享内存
linux·运维·服务器
运维全栈笔记8 小时前
Linux安装配置Tomcat保姆级教程:从部署到性能调优
linux·服务器·中间件·tomcat·apache·web