我有一个本地网络,上面有一些旧的不安全服务。我使用带有客户端证书身份验证的 nginx 反向代理作为从 Internet 到此本地网络的安全入口点。直到现在我只使用它来代理 HTTP 服务器
location / {
proxy_pass http://192.168.123.45:80/;
}
Run Code Online (Sandbox Code Playgroud)
一切正常。
但是现在我想提供可以通过本地服务器上的 FTP 访问的静态文件,我只是尝试:
location /foo {
proxy_pass ftp://user:password@192.168.100.200:5000/;
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用,我找不到任何可以简单地将 HTTP 请求代理到 FTP 请求的东西。
有没有办法做到这一点?
Nginx 不支持代理到 FTP 服务器。充其量,您可以代理套接字......这对于常规的旧 FTP 来说是一个真正的麻烦,因为每次请求文件时它都会在随机端口上打开新连接。
您可能可以做的是在某个本地路径上为该 FTP 服务器创建一个 FUSE 挂载,并像往常一样使用 Nginx 为该路径提供服务。为此,CurlFtpFS是一个工具。教程:https : //linuxconfig.org/mount-remote-ftp-directory-host-locally-into-linux-filesystem
(注意:为了安全和可靠性,强烈建议您尽可能从 FTP 迁移。考虑使用SSH/SFTP。)
| 归档时间: |
|
| 查看次数: |
6757 次 |
| 最近记录: |