在 FTP 反向代理上设置 SSL

问题描述 投票:0回答:1

我有一个 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"

nginx ssl ftp sftp
1个回答
0
投票

不完全确定您要做什么。但 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 反向代理对此不起作用。

© www.soinside.com 2019 - 2024. All rights reserved.