実現したい事
クライアントからFTPSリバースプロキシサーバ経由でFTPサーバにデータをアップロードする
環境
クライアント -- ファイアウォール -- FTPSリバースプロキシサーバ -- FTPサーバ
・FTPSリバースプロキシサーバとFTPサーバはプライベートIPの環境
・クライアントのリクエストは、ファイアウォールの宛先NATの機能で、FTPSリバースプロキシサーバのIPをグローバル→プライベートに変換する
・FTPSの接続方式は、explicitでパッシブモードである
直面したトラブル
FTPSの接続構成は制御用とデータ用と2つに分かれる
クライアントは制御用ではグローバルIPアドレス:21/tcpに接続しに行くが、
データ用ではプライベートIPアドレス:パッシブモードで指定したポート番号に接続しに行き、
ファイアウォールでブロックされ接続できなかった。
パッシブモードはFTPSリバースプロキシサーバがクライアントに接続先のIPアドレスとポート番号を伝えるが、
デフォルトでは、接続先のIPアドレスは、FTPSリバースプロキシサーバのプライベートIPになる
解決策
FTPSリバースプロキシサーバ で、パッシブモードの接続先のIPアドレスをグローバルIPで指定する