使用NGINX从FTP服务器获取服务器静态文件

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

我有一个本地网络,有一些旧的不安全的服务。我使用nginx反向代理和客户端证书身份验证作为来自Internet的本地网络的安全入口点。直到现在我才使用它来代理HTTP服务器

    location / {
        proxy_pass http://192.168.123.45:80/;
    }

一切正常。

但现在我想提供静态文件,可以通过本地服务器上的FTP访问,我试过简单地说:

    location /foo {
        proxy_pass ftp://user:[email protected]:5000/;
    }

但这不起作用,我找不到任何简单地将HTTP请求代理到FTP请求的东西。

有没有办法做到这一点?

nginx ftp
1个回答
1
投票

Nginx不支持代理FTP服务器。充其量,您可以代理套接字......这是一个真正的麻烦与常规旧FTP,因为它每次请求文件时在随机端口上打开新连接。

您可以做的是在某个本地路径上为该FTP服务器创建一个FUSE安装,并像正常一样使用Nginx服务该路径。为此,CurlFtpFS是这方面的一个工具。教程:https://linuxconfig.org/mount-remote-ftp-directory-host-locally-into-linux-filesystem

(注意:为了安全性和可靠性,强烈建议您尽可能远离FTP。请考虑使用SSH/SFTP。)

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