Webアプリを作る場合、基本的にSSHが使えることが前提だったんですが、先日安いサーバーでWebサイトを作る案件があり、FTPでアップをする必要に迫られました。
その時に、「ログインはできているんだけどファイルの一覧が取得できませんでした。」みたいなメッセージが。
いろいろ調べ、FTPクライアントのパッシブモードをオフにすることに。
そういや以前もそんなトラブルがあったな、と思い、アクティブモードとパッシブモードについてまとめてみます。
- アクティブモードとパッシブモードはデータの接続の確立方法の違い。ポートの開放のロジックが少し違う
- アクティブモードはサーバーからデータのコネクションを確立する
- パッシブモードはクライアントからデータのコネクションを確立する
- 一般にパッシブモードのほうが安全(クライアント側のファイアウォールの影響を受ける可能性が減るため)
- ただし、サーバーを提供する側から見ると逆の立場(サーバー側のファイアウォールの影響を減らせるため)になるので、アクティブモード運用のほうが好ましい
ここの解説が完璧なのでとりあえずはここを理解することに全力をあげたほうがよさそう。
概略をつかむのにベスト
FTPのアクティブモードとパッシブモードの違いは、データ転送の接続方向
根源的に理解したい場合はこちら