2013-11-14 187 views
3

我已經在Azure Windows Server 2012虛擬機上的IIS 8.0中設置FTP。Azure虛擬機上的主動FTP

按照本文中的說明(http://itq.nl/walkthrough-hosting-ftp-on-iis-7-5-a-windows-azure-vm-2/)之後,我已經能夠使FTP在被動模式下正常工作,但在嘗試從FileZilla以主動模式進行連接時失敗。 FTP客戶端可以在主動模式下連接到服務器,但在嘗試執行LIST命令時失敗並顯示超時錯誤消息。

我仔細修改20和21的端點在蔚藍的虛擬機,而不指向一個探頭端口和windows防火牆允許20個21端口的虛擬機外部連接設置。

我不明白爲什麼主動模式不工作而被動模式工作正常。

我知道還有其他用戶有一些問題。

請問是否有人成功地在Azure VM中設置了活動ftp?

回答

0

使用主動ftp時,客戶端啓動連接到FTP服務器上的端口21。這是命令或控制通道,並且此連接通常會成功。但是,FTP服務器然後嘗試打開客戶端上的端口20。這是數據通道。此通道用於所有數據傳輸,包括目錄列表。

所以,你的情況,主動FTP不工作,因爲服務器不能向客戶端發起的連接。這可能是服務器(出站防火牆規則)或客戶端本身的問題。這通常是件好事,因爲您不希望基於Internet的服務器能夠在客戶端計算機上打開連接。

在被動模式中出現了明顯的客戶機/服務器的區別,其中客戶端發起與服務器的連接。被動模式是被推薦的,所以如果你有這個工作,我會堅持。

4

此前的響應不正確。 https://stackoverflow.com/a/20132312/5347085

我知道這是因爲我與Azure支持工作廣泛開展。這個問題與服務器無法連接到客戶端無關,我的測試方法可能會消除客戶端問題。

與Azure支持工作2周後,他們對問題的評估基本上是「主動模式FTP使用一系列的隨機端口從一個大的範圍從客戶端到服務器的數據通道。您只能將150個終端添加到Azure虛擬機,因此您不可能添加所有這些端口並使主動FTP工作100%。爲了做到這一點,您需要使用「實例級別的公共IP」,並實質上繞過端點機制,並將您的虛擬機直接放在Internet上,並完全依靠本地操作系統防火牆進行保護。

,如果你要在Azure上使用主動模式FTP,並確定與把你的虛擬機上的一個公網IP,他提供了這個鏈接:

https://azure.microsoft.com/en-us/documentation/articles/virtual-networks-instance-level-public-ip/

UPDATE:從Azure支持官方迴應:

喬希,

與此您的耐心都要感謝的首先。正如我在我的 中提到的最後一封電子郵件中提到的,我正在與技術顧問合作,這些技術顧問支持 升級工程師在Azure中複製此環境。我們的 測試是使用WS_FTP 7.7(您的版本7.1)和WS_FTP 12客戶端以及Windows FTP客戶端配置的。我們的 測試結果與您所遇到的相同。我們能夠登錄 到服務器,但我們得到相同的命令端口/列表失敗。

正如我們前面所討論的那樣,主動FTP使用一個隨機端口作爲客戶端數據的平面數據 。服務器通過21和20連接,但傳入端口是一個隨機臨時端口。在被動FTP中,可以定義 ,因此可以爲您在數據平面的一部分使用的每個端口創建端點。

基於我們昨天進行的廣泛測試,我不希望有任何其他Active FTP解決方案能夠正常工作。昨天幫助 協助的升級工程師也與他的團隊的其他成員 討論過這個問題,他們在Azure中沒有看到任何成功的Active FTP部署。

總之,我最初的想法已經確認能與我們的 測試和主動FTP將在Azure的環境下 這個時候不行。我們一直在努力改進Azure的產品,因此 這可能會在未來發揮作用,因爲我們會繼續增加 。

你需要移動到被動FTP設置,如果你要舉辦 天青這個FTP服務器。

+1

請直接鏈接到您所指的答案,因爲「上述響應」隨着時間的推移會有所不同。 – CubeJockey