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

相关推荐
Clownseven1 分钟前
[IP地址科普] 服务器公网IP、私网IP、弹性IP是什么?区别与应用场景详解
服务器·网络协议·tcp/ip
晚秋大魔王1 分钟前
OpenHarmony 开源鸿蒙南向开发——linux下使用make交叉编译第三方库——wget
java·linux·运维·开发语言·华为·harmonyos
heath ceTide4 分钟前
轻量、优雅、高扩展的事件驱动框架——Hibiscus-Signal
java·开发语言
_extraordinary_5 分钟前
Java 常用的Arrays函数
java·开发语言
_extraordinary_8 分钟前
Java 类和对象
java·开发语言
Aliano21713 分钟前
TestNGException ClassCastException SAXParserFactoryImpl是Java自带的Xerces解析器——解决办法
java·开发语言·python
进击的小白菜24 分钟前
用Java实现单词搜索(LeetCode 79)——回溯算法详解
java·算法·leetcode
越来越无动于衷40 分钟前
手写tomcat:基本功能实现(3)
java·tomcat
Uranus^43 分钟前
使用Spring Boot和Spring Security构建安全的RESTful API
java·spring boot·spring security·jwt·restful api
qq_5432485244 分钟前
Tomcat的调优
java·tomcat