本文主要介紹在使用ossftp時可能遇到的問題及解決方案。
串連FTP Server時提示無法串連到伺服器
問題現象
提示:嚴重錯誤,無法串連到伺服器。
問題原因
輸入的AccessKey ID和AccessKey Secret有誤。
所用的AccessKey資訊為RAM使用者的AccessKey,但RAM使用者沒有訪問OSS的許可權。
解決方案
輸入正確的AccessKey ID和AccessKey Secret資訊後重試串連伺服器。
結合實際使用情境為RAM使用者配置相應的許可權。
以下為常見情境的許可權說明:
唯讀訪問OSS某個Bucket的資源
要求的權限為
oss:ListObjects
和oss:GetObject
在OSS某個Bucket中寫入資料
要求的權限為
oss:ListObjects
和oss:PutObject
刪除Bucket中的資料
要求的權限為
oss:ListObjects
和oss:DeleteObject
關於授權RAM使用者其他情境的配置樣本,請參見RAM Policy常見樣本。
使用FileZilla串連FTP Server時報錯501
問題現象
在Linux下運行FTP Server,然後使用FileZilla串連時報錯501。
501 can't decode path (server filesystem encoding is ANSI_X3.4-1968)
問題原因
本地中文編碼問題。
解決方案
在將要運行start.sh的終端中輸入下面的命令。
$ export LC_ALL=en_US.UTF-8; export LANG="en_US.UTF-8"; locale
重新啟動FileZilla。
登入ossftp成功後List檔案逾時導致串連斷開
Bucket根目錄下的檔案或檔案夾數量過多。 登入ossftp後,FTP Server會嘗試List Bucket根目錄下的所有檔案和檔案夾。單次可以List 1000個檔案和檔案夾。如果根目錄下檔案和檔案夾數量超過100萬,會導致1000次以上的List請求,從而造成逾時。
資料轉送不成功
問題原因
FTP協議的控制連接埠與資料連接埠不同。當FTP Server在被動模式下需要傳輸資料時,FTP Server會開啟1個隨機連接埠用於串連用戶端。當FTP Server所在機器有連接埠限制時,可能會導致資料無法正常傳輸。
解決方案
運行
ftpserver.py
時,通過指定--passive_ports_start和--passive_ports_end選項設定本地連接埠的起止範圍,然後開啟該範圍內的連接埠。
用戶端和FTP Server之間的串連經常斷開
問題原因
用戶端和FTP Server之間連線逾時。
解決方案
設定用戶端和FTP Server之間串連不逾時。以FileZilla工具為例,在
,將逾時設定為0(表示不逾時)。