我有一个 FTP 服务器(旧的 NAS),但我无法设置安全(SSL)通道
然后我有另一台服务器(备份服务器),仅将文件存储在 SFTP 服务器中。
所以我想在 nginx 中创建一个反向代理来“转换”SFTP 中备份服务器的通信,并在 FTP 中的 NAS 服务器上进行反向通信
我在流部分创建了一个新的配置服务器,监听 22 端口,添加了 SSL 证书并在内部不安全的 ftp 上进行反向操作,但接缝它不起作用
这是我的配置:
server {
listen 22;
#ssl on;
#server_tokens off;
ssl_certificate /etc/nginx/ssl/selfsign_cert/self_cert.pem;
ssl_certificate_key /etc/nginx/ssl/selfsign_cert/self_key.pem;
proxy_pass 192.168.1.100:21;
}
我没有收到任何错误,但连接超时
如果我启用
ssl on;
,我会在启动时收到unknown directive "ssl"
不完全确定您要做什么。但 SFTP 不是基于 SSL 的 FTP - 这将是 FTPS,通常位于端口 21(显式 SSL 升级)或端口 990(隐式 SSL)上。 SFTP 是通过 SSH 进行文件传输,这是一种完全不同的协议,通常使用端口 22。
并且您不能仅通过某些 SSL 隧道来建立普通 FTP 使其成为 FTPS,因为 FTP 使用端口 21 上的数据连接,此外还为某个动态端口上的每个数据传输使用新的 TCP 连接。除此之外,它还有新命令来控制何时确切使用 TLS - 有关详细信息,请参阅RFC 4217。
因此,您需要有一个反向代理,它实际上实现了 FTPS 协议,并且可以在普通 FTP 和 FTPS 之间进行转换,普通的 TCP/TLS 反向代理对此不起作用。