2017-08-24 39 views
-1

我有redhat linux Azure虛擬機服務器,通過它我試圖從其他Windows Azure虛擬機上託管的FTP服務器獲取目錄列表。我可以使用我的本地計算機和filezilla通過FTP進行連接,並獲取目錄列表,但在使用ls命令時,通過我的redhat linux azure VM服務器發生主動和被動連接錯誤。不允許來自azure VM的FTP文件列表訪問

主動連接錯誤: FTP:接受:資源暫時不可用 425可以爲 「/」 226 ABOR命令成功

被動的錯誤轉移無法打開數據連接: 227進入被動模式(10,1,0,10,160,87) ftp:connect:連接超時

它看起來更像是防火牆問題,但是我需要更改哪種設置。我在入站規則中還添加了FTP端口21和數據連接端口20。

在我的firewalld規則FTP服務列出。甚至所有被動連接端口也被添加。此外我禁用了firewalld,然後嘗試但沒有成功。

我需要從我的PHP頁面訪問此FTP以獲取FTP文件夾上傳的所有文件。

謝謝

+0

爲什麼-1投票。我搜遍了谷歌。 Windows IIS中的更改也一樣。還要改變linux azure的firewalld設置,但沒有運氣。 – user1648204

+0

現在解決。這是FTP服務器問題。它不允許正確的被動FTP連接。我改變了配置,它像一個魅力。 – user1648204

回答

-1

根據你的問題,我做了一個測試,並取得成功。我的FTP服務器是一個Azure Linux VM。我的客戶端是本地Windows機器。主要步驟如下:

1.在您的Linux VM上安裝vsftp。

sudo apt-get install vsftpd 

2.編輯vsftp配置文件。

sudo vi /etc/vsftpd.conf 

3.添加這些配置。(我選擇3000和3001端口的數據傳輸端口,地址是你的虛擬機的公網IP)

pasv_enable=YES 
pasv_min_port=3000 
pasv_max_port=3001 
pasv_addr_resolve=YES 

4.Restart服務。

sudo service vsftpd restart 

5.轉到Azure門戶並添加NSG入站規則,打開20,21和數據傳輸端口。

My NSG rules

6.Using CMD測試。

test OK

+0

你好韋恩, 我不想在Azure上安裝FTP服務器,但它應該作爲FTP客戶端。但是,現在它在FTP服務器的變化之後工作正常,FTP服務器由別人託管,允許在FTP服務器中進行被動連接。問題已解決。謝謝您的幫助。 – user1648204

+0

我很高興聽到您的問題已解決。 –

相關問題