今日、Windows 2003 ServerにIIS FTPをインストールし、サーバはWindowsファイアウォールを開き、例外「外部接続を許可する21」を追加しました。すべての設定が完了すると、IE接続をまったく開くことができず、ステータスバーに「フォルダの内容を取得しています」と表示され、最後に「操作タイムアウト」が表示されます。
コマンドプロンプトでログインします。すべて正常です。ディレクトリの内容を検索したり、ファイルを取得したりできます。
FTP設定、ユーザー権限、NTFS権限を再調整しましたが、問題は解決しません。
Cuteftpソフトウェアに接続して、PASVモードを使用してもPORTモードを使用してデータを転送できないため、問題はすべて解決しました。 FTP接続モードに関するインターネットの問い合わせ:FTP接続モードはPORTとPASVの2つです。 PORTモードはアクティブモードで、PASVはパッシブモードです。これはサーバーに関連しています。 PORTモードは、サーバによって開始されたデータ伝送チャネルを確立し、サーバは、ポート20を使用して1024より大きいクライアントのポートに接続する。PASVモードでは、データ伝送チャネルはFTPクライアントによって確立される。彼は1024以上のポートを持つサーバーに接続するために1024より大きいポートを使います。
C /Sモデルの観点から、サーバーのPORTがOUTBOUNDで、サーバーのPASVモードがINBOUNDの場合、特にMicrosoft ISAなどのファイアウォールを使用する企業では、特に注意してください。 Server 2000はFTPサーバーをリリースしますが、これは非常に重要です設定が間違っていると、クライアントは接続できません。
[参照] http://www.microsoft.com/china/community/Column/70.mspx
この時点で、失敗の原因は明らかです。サーバーはWindowsファイアウォールを開き、ポートを追加することによって外部からサーバーへのアクセスを許可します。 21ポートですので、FTP制御情報を正常に送信できます。 CMDログインを使用する場合、PORTモードが採用されているため、サーバーは20ポートを使用してクライアントへの接続を開始し、この送信プロセスはWindowsファイアウォールによって解放され、データチャネルを確立できます。 IEを使用してログインした場合、デフォルトはPASVモードで、クライアントは1024を超えるポートに接続しようとしますこのサーバーへのインバウンドプロセスはファイアウォールによってフィルタリングされるため、データチャネルを確立できずタイムアウトエラーが発生します。
この問題を解決するには、サーバーまたはクライアントから起動します。
サーバーの場合は必要なポートを開くことができますが、PASVモード接続のポート番号は固定されず、「ポートの追加」方法は使用できません。次に、「プログラムの追加」によってファイアウォールに穴を開けます。
クライアントの場合、IEをPORTモードのみを使用するように指定しても問題を解決できます。図2の[IEツール]メニュー - > [インターネットオプション] - > [詳細] - > [パッシブFTPを使用]の前にあるチェックマークを外します。
図1、Windowsファイアウォールによるプログラムの追加の例外の例外
図2、IEの設定でPASVモードが使用されていない