故障描述
使用FTP上傳文件時,寫入文件或者傳輸文件失敗。
約束與限制
本文檔適用于服務端為Windows系統上的FTP服務。
故障原因
彈性公網IP與內網IP是通過NAT方式綁定的,因此本地訪問彈性云主機時,客戶端是通過被動模式連接服務端的,在這種情況下,服務端的IP地址無法從路由器外部訪問,所以需要在服務端的對外IP中填寫此彈性云主機分配的公網IP,同時設置數據傳輸端口范圍來限制需要通過路由器轉發的端口數量。
解決步驟
-
檢查FTP服務的地址是否填寫正確
點擊“ 服務器管理器 -> 工具 -> Internet Information Services(IIS)管理器” ,然后選擇左邊欄點擊“ 網站” 。首先查看建立的FTP綁定的IP是否填寫的是內網IP,類型為FTP。圖1 查看FTP所綁定的IP

-
檢查服務端的FTP防火墻支持配置
展開“ 網站” ,會顯示建立的FTP服務,雙擊右側的FTP防火墻支持。圖2 FTP防火墻支持

數據通道端口范圍需要填寫1024-65535范圍內的,比如20000-20045。
防火墻的外部IP地址這一欄需要填寫分配到的 公網IP 。 -
檢查安全組設置
點擊“ 控制中心 -> 服務列表 -> 彈性云主機” ,選擇對應的可用區,然后再展示出來的彈性云主機列表里選擇需要的彈性云主機,然后雙擊這個彈性云主機,即可打開詳情頁面。在下方選擇“ 安全組” ,然后查看詳細的安全組配置,是否在入方向里已經正確配置了端口21和上面配置的數據通道端口這兩條。圖3 安全組配置

-
在客戶端測試
一種方法是使用FileZilla填寫彈性云主機的公網ip,FTP的用戶名和密碼,端口填寫21。另一種方法是訪問ftp://彈性云主機公網ip:服務端的端口(如果不填為21),然后在彈出的對話框里輸入FTP的用戶名和密碼。