nginxを使用したFTPプロキシ


2

Nginxを使用して簡単なFTPプロキシを設定しようとしています。現在、私の構成は次のようになっています。

server {
    listen 21;
    server_name 52.49.13.91;
    location / {
        proxy_pass ftp://my.ftpsite.com/;
    }
}

server {
    listen 20;
    server_name 52.49.13.91;
    location / {
        proxy_pass ftp://my.ftpsite.com/;
    }
}

しかし、nginxから次のエラーが発生しました: invalid URL prefix in /etc/nginx/sites-enabled/ftp-proxy:5

nginxはこれを行うことさえできますか?どうすればこれを達成できますか?


まず、FTPパッシブモードで読み取ります。次に、「ネイティブ」FTPプロキシはコマンドストリームにアクセスする必要があるため、暗号化をサポートしていません。問題は、実際に何を達成しようとしているのですか?一部のFTPホストをドメインでホストされているように見せますか?
ダニエルB

私が達成しようとしているのは、自分のコンピューターから、制御可能な特定のIPアドレスからの接続のみを受け入れるFTPホストに接続することです。
アントワーヌM.

1
そうですか。その場合、SOCKSプロキシを使用することをお勧めします。
ダニエルB

mod_proxyFTPプロキシを作成するProFTPD のモジュールの使用を検討することもできます。(私は著者であることに注意してください。)
カスタリア

回答:


1

nginxはSMTP / POP3 / IMAPを実行できます:https :
//www.nginx.com/resources/admin-guide/mail-proxy/

HTTPだけでなく:https :
//www.nginx.com/resources/admin-guide/reverse-proxy/

およびPROXYプロトコル:
https : //www.nginx.com/resources/admin-guide/proxy-protocol/
http://www.haproxy.org/download/1.8/doc/proxy-protocol.txt

たぶん、ftpをサポートするためにカスタムモジュールを使用できます:https :
//github.com/yaoweibin/nginx_tcp_proxy_module

ただし、デフォルトでは、nginxはFTPをプロキシプロトコルとしてサポートしていません。


0

アップストリームnginxモジュールを使用します。TCPストリームをアップストリームできます。ただし、config-コマンドとデータですべてのポートを記述する必要があります。


2
これがどのように機能するかについて、さらに詳しく説明していただけますか?ツアーに参加して回答方法をご覧ください。
ブルギ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.