大型檔案下載失敗當 「 ISA Server 2004 SOCKS 」 用戶端電腦或 ISA Server 2006 SOCKS 的用戶端電腦使用被動模式 FTP

文章翻譯 文章翻譯
文章編號: 923322 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

徵狀

當 FTP 用戶端電腦會藉由使用被動模式 FTP 下載大型檔案時,下載就會失敗,如果時間超過 120 秒。

發生的原因

如果下列情況成立,可能就會發生這個問題:
  • FTP 用戶端電腦設定成使用 [Socks 通訊協定。
  • FTP 用戶端電腦會使用 Microsoft 網際網路安全性和加速 ISA Server 2004 或 Microsoft 網際網路安全性加速 ISA Server 2006 的外寄的被動 FTP 存取。
  • ISA Server 2006 或 ISA Server 2004 中時,閒置連線逾時值設定為預設值 120 秒。
被動模式 FTP 使用輸出的控制通道連接和連出的資料通道連線。檔案傳輸會透過資料通道。FTP 控制通道逾時,如果下列情況成立:
  • 資料不是下載作業期間,透過控制通道來傳送的。
  • 被動模式 FTP 檔案下載時間超過 120 秒。
然後,FTP 伺服器會停止檔案下載作業。

解決方案

如果要解決這個問題,取得最新的 Service Pack 為 ISA Server 2004 和 ISA Server 2006。

如需詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
954258如何取得最新網際網路安全性與加速 ISA Server 2006 Service Pack
如需詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
891024如何取得最新的 ISA Server 2004 Service Pack
安裝適當的 Service Pack 之後執行下列的 Microsoft Visual Basic 指令碼中,以設定 Socks 篩選閒置連線逾時值設為適當值。

附註若要決定適當的逾時值,使用下列方程式:
Timeout (seconds) = file size / download speed * 1.2

比方說若要決定適當的逾時值,以下載 1 百萬位元 / 秒 (Mbps) 在 200 百萬位元組 (MB) 檔案,使用下列方程式:
 200*8 / 1 * 1.2 = 1920 seconds
您必須計算要使用個別值。

附註閒置連線逾時設定有助於釋放未使用的資源,讓資源相關問題不會發生。因此,我們建議您不要增加逾時不必要地設定。如果您使用比預設值為 120 秒的逾時設定,也可以建立非預期的問題。

若要變更逾時設定,請依照下列步驟執行:

附註您可以依照下列步驟執行之前,您必須安裝適當的 Service Pack。
  1. 按一下 [開始],指向 [所有程式]、 都指向 [附屬應用程式,然後再按一下 [記事本]。
  2. 複製,並將下列程式碼貼到新的 [記事本] 文件。然後,儲存程式碼,到 ISA Server 2004 電腦或到 ISA Server 2006 電腦。若要執行此動作使用具有如 SetSocksIdleTimeout.vbs.vbs 副檔名的檔案名稱
    
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    '
    ' Copyright (c) Microsoft Corporation. All rights reserved.
    ' THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE
    ' RISK OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE
    ' USER. USE AND REDISTRIBUTION OF THIS CODE, WITH OR WITHOUT MODIFICATION, IS
    ' HEREBY PERMITTED.
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' This script sets the idle connection time-out value for the SOCKS filter.
    ' The value is in seconds.
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    
    Sub SetSocksIdleTimeout()
    
        ' Create the root object.
        Dim root  ' The FPCLib.FPC root object
        Set root = CreateObject("FPC.Root")
    
        'Declare the other objects needed.
        Dim array       ' An FPCArray object
        Dim Extensions  ' An FPCExtensions object
        Dim ApplicationFilters ' An FPCApplicationFilters object
        Dim ApplicationFilter  ' An FPCApplicationFilter object
        Dim VendorSets  ' An FPCVendorParametersSets collection
        Dim VendorSet   ' An FPCVendorParametersSet object
    
        ' Get references to the array object
        Set array = root.GetContainingArray
    
        On Error Resume Next
    
        Set Extensions = array.Extensions
        CheckError
    
        Set ApplicationFilters = Extensions.ApplicationFilters
        CheckError
    
        Set ApplicationFilter = ApplicationFilters.Item("{25765C04-C80B-494C-914E-286297DB8C8E}")
    
        Set VendorSets = ApplicationFilter.VendorParametersSets
        Set VendorSet = VendorSets.Item( "{25765C04-C80B-494C-914E-286297DB8C8E}" )
    
        VendorSet.Value("SessionIdleTimeoutSeconds") = 120 ' value in seconds to be set to desired value
    
        ApplicationFilter.Save false, true
    
        WScript.Echo "Done..."
    
    End Sub
    
    Sub CheckError()
    
        If Err.Number <> 0 Then
            WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description
            Err.Clear
        End If
    
    End Sub
    
    SetSocksIdleTimeout
    
    
  3. 此指令碼會使用預設的逾時值 120 秒。 變更為您想要的設定的逾時值,然後儲存指令碼。
  4. 按兩下.vbs 檔案,以執行指令碼。
執行此指令碼之後新的逾時值會套用到新的 Socks 連接透過 ISA Server 2004 或透過 ISA Server 2006 做的。

若要變更回預設逾時值,將值變更指令碼中的 120 秒、 儲存此變更並重新執行指令碼。

其他可行方案

若要解決這個問題,設定 FTP 程式 FTP 控制通道上傳送 「 持續作用 」 命令。

如需有關您使用的 FTP 程式是否支援此功能的資訊,請參閱 FTP 程式之文件]。

狀況說明

Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。

?考

如需有關如何安裝 ISA Server Hotfix 與 ISA Server 更新的詳細資訊,按一下 [下列面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
885957如何安裝 ISA Server Hotfix 及更新

屬性

文章編號: 923322 - 上次校閱: 2009年3月26日 - 版次: 2.0
這篇文章中的資訊適用於:
  • Microsoft Internet Security and Acceleration Server 2004 Standard Edition
  • Microsoft Internet Security and Acceleration Server 2004 Enterprise Edition
  • Microsoft Internet Security and Acceleration Server 2006 Standard Edition
  • Microsoft Internet Security and Acceleration Server 2006 Enterprise Edition
關鍵字:?
kbmt kbtshoot kbexpertiseadvanced kbqfe kbprb KB923322 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:923322
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com