web-dev-qa-db-ja.com

複数の内部FTPサーバーのリバースプロキシ

次のようにApachemod_proxyを使用してhttpのリバースプロキシを設定しました。

  • クライアント> http:/abc.domain1.com >リバースプロキシサーバー> 192.168.50.1(内部サーバー)

  • クライアント> http:/def.domain2.com/ >リバースプロキシサーバー> 192.168.50.2(別の内部サーバー)

今私はFTPで同じことを達成したいと思います:

  • クライアント> ftp:/abc.domain1.com/ >リバースプロキシサーバー> ftp:/192.168.50.1(内部FTPサーバー)

  • クライアント> ftp:/def.domain2.com/ >リバースプロキシサーバー> ftp:/192.168.50.2(別の内部FTPサーバー)

両方の内部FTPサーバーがvsftpdを実行しています。 Redhat/Centosのセットアップを教えてください。

理由:使用できるパブリックIPは1つだけです。

1
Saurabh Singla

探しているものを設定するには、2つの問題があります。

  • httpとは異なり、ftpのリバースプロキシは非常にまれな種類であり、(古いSuseプロキシスイートのように)存在するものは、丁寧であり続けるために、セットアップして操作する喜びではありません。
  • http 1.1とは異なり、ftpには 仮想ホスティング の規定がありません。つまり、サーバーは通信したいホスト名を見ることができません。

セットアップが比較的簡単な2つの代替ソリューションがあり、それぞれに独自の利点と制限があります。

  1. 異なるポートで2つのバックエンドサーバーにサービスを提供します(例: ftp://abc.domain1.com/ および ftp://def.domain2.com:8021/ 。非常に簡単セットアップする必要があり、リバースプロキシは必要ありませんが、転送するポートがいくつか追加されます。欠点:ドメインの1つで、ポート番号を含むURLを使用する必要があります。これは、問題になる場合と問題にならない場合があります。
  2. CrushFTP は、ftp、sftpなどの商用でありながら手頃な価格のサーバーであり、さまざまな方法で複数のバックエンドをフロントに簡単にセットアップできます。
    1. ディレクトリとして、 ftp://abc.domain1.com/abc および ftp://abc.domain1.com/def のような設定になります。
    2. ユーザープロファイルに基づいて特定のバックエンドを表示するため、 ftp://abc.domain1.com/ は、ログインするユーザーによって完全に異なって見えます。

オプション2を選択したのは、日常業務において最も柔軟で信頼性が高いことが証明されたためです。追加のボーナスとして、バックエンドへのトラフィックにftp以外のプロトコル(sftpなど)を使用できます。

ダウンロードしてテストできる完全に機能するデモバージョンがあります(iircでは5つの同時接続に制限されています)。

唯一の潜在的な欠点:それはJavaプログラムであるため、フットプリント(ディスクとメモリの両方)は通常のftpサーバーよりもサイズが大きくなります。

2
fvu

デリゲートを逆FTPプロキシとして使用できます。

http://www.delegate.org/delegate/Manual.htm?serv_FTP

User @ serverとしてのユーザー名は、ユーザーとサーバーに分解され、異なるサーバーの照合に使用されます。

1
Bernd

前述のfvuのように、httpプロキシを使用してftpをルーティングすることはできません。

そして、最も簡単な方法はsftpを使用することです。しかし、MobaXtermを使用してそれを行うことができます。これは、多くの機能を無料で、より正確な価格で提供するオールインワンのリモート接続ソフトウェアです。

続行する最後の方法:1folder/serverを作成し、フロントエンドのみをftpとして使用するようにrsyncを設定します。

0
VirtuBox