Статические файлы сервера с FTP-сервера с использованием NGINX - PullRequest
1 голос
/ 25 марта 2019

У меня есть локальная сеть, в которой есть некоторые старые небезопасные службы. Я использую обратный прокси-сервер nginx с проверкой подлинности клиентских сертификатов в качестве безопасной точки входа в эту локальную сеть из Интернета. До сих пор я использовал его только для прокси-серверов HTTP, используя

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

и все отлично работает.

Но теперь я бы хотел обслуживать статические файлы, доступные через FTP на локальном сервере, я попробовал просто:

    location /foo {
        proxy_pass ftp://user:password@192.168.100.200:5000/;
    }

но это не сработало, и я не нашел ничего, что просто передавало бы HTTP-запрос на FTP.

Есть ли способ сделать это?

1 Ответ

1 голос
/ 27 марта 2019

Nginx не поддерживает прокси на FTP-серверах. В лучшем случае вы можете проксировать сокет ... и это настоящая проблема с обычным старым FTP, поскольку он открывает новые соединения на случайных портах каждый раз, когда запрашивается файл.

Вместо этого вы, вероятно, можете создать FUSE-монтирование для этого FTP-сервера по какому-то локальному пути и обслуживать этот путь с помощью Nginx, как обычно. Для этого CurlFtpFS является одним из инструментов для этого. Учебник: https://linuxconfig.org/mount-remote-ftp-directory-host-locally-into-linux-filesystem

(Примечание. Для обеспечения безопасности и надежности настоятельно рекомендуется по возможности мигрировать с FTP. Рассмотрите вместо этого SSH / SFTP .)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...