このトピックでは、OSS FTP (ossftp) における一般的な接続、エンコーディング、タイムアウト、およびデータ転送に関する問題について説明します。
FTP サーバーに接続できないのはなぜですか?
まず、認証情報を確認してください。AccessKey ID または AccessKey Secret が正しくない場合、OSS FTP は接続を拒否します。認証情報を再入力し、再接続してください。
RAM ユーザーの認証情報を使用している場合、その RAM ユーザーに必要な OSS 権限がない可能性があります。RAM ユーザーが必要とするタスクに基づいて権限を付与してください。
| タスク | 必要な権限 |
|---|---|
| バケットからデータを読み取る | oss:ListObjects, oss:GetObject |
| バケットにデータを書き込む | oss:ListObjects, oss:PutObject |
| バケットからデータを削除する | oss:ListObjects, oss:DeleteObject |
その他のシナリオについては、「RAM ポリシーの一般的な例」をご参照ください。
Linux で FileZilla を使用して接続すると 501 エラーが返されるのはなぜですか?
Linux で FileZilla を使用して接続する際に、次のエラーが表示される場合:
501 can't decode path (server filesystem encoding is ANSI_X3.4-1968)中国語文字が適切にエンコードされていません。これを修正するには、start.sh を実行するターミナルでロケールを UTF-8 に設定し、FileZilla を再起動してください。
export LC_ALL=en_US.UTF-8; export LANG="en_US.UTF-8"; localeログイン後にオブジェクトを一覧表示すると接続がタイムアウトするのはなぜですか?
OSS FTP は、ログイン直後にバケットのルートディレクトリ内のすべてのオブジェクトとディレクトリを一覧表示します。1 回のリクエストで最大 1,000 個のオブジェクトとディレクトリを一覧表示できます。ルートディレクトリに 1,000,000 個を超えるオブジェクトが含まれている場合、一覧表示には 1,000 回を超える連続したリクエストが必要となり、完了する前に接続がタイムアウトします。
データ転送が失敗するのはなぜですか?
パッシブモードでは、FTP サーバーはデータ接続のためにランダムポートを開きます。FTP サーバーを実行しているマシンにポート制限がある場合、データ転送が失敗することがあります。
ftpserver.py の実行時に、--passive_ports_start と --passive_ports_end を指定して、使用するローカルポートの範囲を設定し、これらのポートを有効にしてください。
クライアントが FTP サーバーから頻繁に切断されるのはなぜですか?
クライアントが切断されるのは、アイドル状態の接続がタイムアウトするためです。これを防ぐには、FTP クライアントでアイドル接続のタイムアウトを無効化します。FileZilla の場合、[設定項目] > [接続] に移動し、タイムアウト期間を 0(タイムアウトなし)に設定します。