共用方式為


FTP 快取快取 <>

概觀

元素 <caching> 會指定 FTP 服務的認證設定。

FTP 服務會基於效能考慮來快取使用者認證,進而減少驗證用戶端所需的時間,並減少與在使用中的安全性存放區中查閱使用者認證相關聯的額外負荷。 例如,使用 FTP 基本驗證時,使用者認證會儲存在 FTP 服務執行所在的伺服器上的本機帳戶資料庫中,或儲存在網域控制站上。 如果您使用 .NET 成員資格認證,使用者帳戶會儲存在資料庫中。 如果網域帳戶或成員資格資料庫儲存在遠端電腦上,則認證快取有助於位移驗證帳戶所需的時間。 在具有大量帳戶登入的 FTP 伺服器上,這可能會大幅提升效能。

當您的安全性需求規定必須立即排清認證時,您可以設定認證快取以符合您的環境。 例如,如果您在成功登入 FTP 月臺之後變更密碼,您的舊認證可能會在快取逾時期間快取。在可能會以一般性發生此情況的網路拓撲中,您可能會想要減少快取逾時或停用快取。

FTP 7.0、FTP 7.5 和 FTP 8.0 預設會啟用認證快取。 認證會快取 15 分鐘。 快取中的認證存留期是由 flushInterval 屬性指定,而且可以藉由重新開機 FTP 服務手動排清認證。

相容性

版本 備註
IIS 10.0 未在 IIS 10.0 中修改專案 <caching>
IIS 8.5 未在 IIS 8.5 中修改專案 <caching>
IIS 8.0 未在 IIS 8.0 中修改專案 <caching>
IIS 7.5 元素 <caching><system.ftpServer> 元素隨附為 IIS 7.5 的功能。
IIS 7.0 元素 <caching><system.ftpServer> 元素是在 FTP 7.0 中引進,這是 IIS 7.0 的個別下載專案。
IIS 6.0 N/A

注意

FTP 7.0 和 FTP 7.5 服務為 IIS 7.0 隨附頻外,需要從下列 URL 下載並安裝模組:

https://www.iis.net/expand/FTP

使用 Windows 7 和 Windows Server 2008 R2 時,FTP 7.5 服務隨附為 IIS 7.5 的功能,因此不再需要下載 FTP 服務。

安裝程式

若要支援 Web 服務器的 FTP 發佈,您必須安裝 FTP 服務。 若要這樣做,請使用下列步驟。

Windows Server 2012 或 Windows Server 2012 R2

  1. 在工作列上,按一下 [伺服器管理員]

  2. [伺服器管理員] 中,按一下 [管理] 功能表,然後按一下 [新增角色及功能]。

  3. 在 [ 新增角色及功能精 靈] 中,按 [ 下一步]。 選取安裝類型,然後按 [ 下一步]。 選取目的地伺服器,然後按 [ 下一步]。

  4. 在 [ 伺服器角色] 頁面上,展開 [ Web 服務器 (IIS) ],然後選取 [ FTP 伺服器]。

    注意

    支援 ASP。FTP 服務的成員資格驗證或 IIS 管理員驗證,除了FTP 服務之外,您還需要選取[FTP 擴充性]。
    [伺服器角色] 頁面的螢幕擷取畫面,其中已展開 F T P 伺服器節點,並已選取 F T P 擴充性。 .

  5. [下一步],然後在 [ 選取功能 ] 頁面上,再次按 [ 下一步 ]。

  6. 在 [確認安裝選項] 頁面上,按一下 [安裝]

  7. 在 [結果] 頁面上,按一下 [關閉]

Windows 8 或 Windows 8.1

  1. 在 [開始] 畫面上,將指標一路移至左下角,以滑鼠右鍵按一下 [開始] 按鈕,然後按一下[主控台]。

  2. 主控台中,按一下 [程式和功能],然後按一下 [開啟或關閉 Windows 功能]。

  3. 展開 [Internet Information Services],然後選取 [ FTP 伺服器]。

    注意

    支援 ASP。FTP 服務的成員資格驗證或 IIS 管理員驗證,您也必須選取 [FTP 擴充性]。
    已展開 [網際網路資訊服務和 F T P 伺服器] 窗格的螢幕擷取畫面,其中已醒目提示 F T P 擴充性。

  4. 按一下 [確定]。

  5. 按一下 [關閉] 。

Windows Server 2008 R2

  1. 在工作列上,按一下 [開始],指向 [系統管理工具],然後按一下[伺服器管理員]。

  2. [伺服器管理員階層] 窗格中,展開 [角色],然後按一下 [Web 服務器] (IIS)

  3. 在 [ Web Server (IIS) ] 窗格中,捲動至 [ 角色服務 ] 區段,然後按一下 [ 新增角色服務]。

  4. 在 [新增角色服務精靈] 的 [選取角色服務] 頁面上,展開[FTP 伺服器]。

  5. 選取 [FTP 服務]。

    注意

    支援 ASP。FTP 服務的成員資格驗證或 IIS 管理員驗證,您也必須選取 [FTP 擴充性]。
    [新增角色服務精靈] 的 [選取角色服務] 頁面螢幕擷取畫面,其中已展開 F T P 伺服器節點,並已選取 F T P 服務。

  6. 按一下 [下一步] 。

  7. 在 [確認安裝選項] 頁面上,按一下 [安裝]

  8. 在 [結果] 頁面上,按一下 [關閉]

Windows 7

  1. 在工作列上,按一下 [開始],然後按一下[主控台]。

  2. 主控台中,按一下 [程式和功能],然後按一下[開啟或關閉 Windows 功能]。

  3. 展開 [Internet Information Services],然後展開 [ FTP 伺服器]。

  4. 選取 [FTP 服務]。

    注意

    支援 ASP。FTP 服務的成員資格驗證或 IIS 管理員驗證,您也必須選取 [FTP 擴充性]。
    已展開 [Internet Information Services] 和 [F T P 伺服器] 節點的螢幕擷取畫面,其中已選取 F T P 擴充性和 F T P 服務。

  5. 按一下 [確定]。

Windows Server 2008 或 Windows Vista

  1. 從下列 URL 下載安裝套件:

  2. 請遵循下列逐步解說中的指示來安裝 FTP 服務:

作法

如何設定 FTP 認證快取設定

IIS 7.0 使用者的注意事項:本節中的某些步驟可能需要您安裝 IIS 7.0 的 Microsoft 系統管理元件,其中包括 IIS 組態編輯器。 若要安裝適用于 IIS 7.0 的 Microsoft 系統管理元件,請參閱下列 URL:

注意

沒有可讓您設定 <hostNameSupport> 專案的直接使用者介面,因此下列步驟會使用 IIS 組態編輯器功能。

  1. 開啟 [Internet Information Services (IIS) 管理員

    • 如果您使用 Windows Server 2012 或 Windows Server 2012 R2:

      • 在工作列上,依序按一下 [伺服器管理員]、[工具],然後按一下 [Internet Information Services (IIS) Manager]。
    • 如果您使用 Windows 8 或 Windows 8.1:

      • 按住Windows鍵,按字母X,然後按一下[主控台]。
      • 按一下 [系統管理工具],然後按兩下 [ Internet Information Services (IIS) Manager]。
    • 如果您使用 Windows Server 2008 或 Windows Server 2008 R2:

      • 在工作列上,按一下 [ 開始],指向 [ 系統管理工具],然後按一下 [ Internet Information Services (IIS) 管理員]。
    • 如果您使用 Windows Vista 或 Windows 7:

      • 在工作列上,按一下 [開始],然後按一下[主控台]。
      • 按兩下 [ 系統管理工具],然後按兩下 [Internet Information Services] ([IIS) 管理員]。
  2. 在 [ 連線 ] 窗格中,按一下伺服器名稱。

  3. 在 [ 首頁] 窗格中,按兩下 [ 組態編輯器 ] 功能。

  4. 在 [ 區段 ] 下拉式功能表中,展開 sytem.ftpServer,然後按一下 [ 快取]。
    [組態編輯器] 功能窗格的螢幕擷取畫面,其中顯示展開的系統點 f t p 伺服器功能表。

  5. 展開清單檢視中的 credentialsCache

  6. 啟用屬性的下拉式清單中,選擇[True] 或 [False]。

  7. 輸入 flushInterval 屬性之排清間隔的秒數。

  8. 在 [動作] 窗格中,按一下 [套用]

注意

本節包含如何使用 IIS 組態編輯器修改 IIS 設定的相關資訊。 編輯 IIS 組態設定不正確可能會嚴重損壞 IIS 安裝。 因此,請務必小心遵循下列步驟。 為了增加安全性,您應該先備份 IIS 組態設定,再使用 IIS 組態編輯器進行任何修改。 如需如何備份 IIS 組態設定及如何使用 IIS 組態編輯器的詳細資訊,請參閱下列主題:

組態

專案 <caching> 是在全域層級設定ApplicationHost.config。

屬性

無。

子元素

元素 描述
credentialsCache 選擇性項目。

指定 FTP 服務的認證快取設定。

組態範例

下列組態範例會啟用伺服器的 FTP 認證快取,並將認證逾時設定為 300 秒, (5 分鐘。)

<system.ftpServer>
   <caching>
      <credentialsCache enabled="true" flushInterval="300" />
   </caching>
</system.ftpServer>

範例程式碼

下列範例會啟用伺服器的 FTP 認證快取,並將認證逾時設定為 300 秒, (五分鐘。)

AppCmd.exe

appcmd.exe set config -section:system.ftpServer/caching /credentialsCache.enabled:"True" /commit:apphost

appcmd.exe set config -section:system.ftpServer/caching /credentialsCache.flushInterval:"300" /commit:apphost

注意

當您使用AppCmd.exe設定這些設定時,請務必將 認可 參數 apphost 設定為 。 這會將組態設定認可至ApplicationHost.config檔案中適當的位置區段。

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetApplicationHostConfiguration();
         ConfigurationSection cachingSection = config.GetSection("system.ftpServer/caching");

         ConfigurationElement credentialsCacheElement = cachingSection.GetChildElement("credentialsCache");
         credentialsCacheElement["enabled"] = true;
         credentialsCacheElement["flushInterval"] = 300;

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample
   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim cachingSection As ConfigurationSection = config.GetSection("system.ftpServer/caching")

      Dim credentialsCacheElement As ConfigurationElement = cachingSection.GetChildElement("credentialsCache")
      credentialsCacheElement("enabled") = True
      credentialsCacheElement("flushInterval") = 300

      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var cachingSection = adminManager.GetAdminSection("system.ftpServer/caching", "MACHINE/WEBROOT/APPHOST");

var credentialsCacheElement = cachingSection.ChildElements.Item("credentialsCache");
credentialsCacheElement.Properties.Item("enabled").Value = true;
credentialsCacheElement.Properties.Item("flushInterval").Value = 300;

adminManager.CommitChanges();

VBScript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set cachingSection = adminManager.GetAdminSection("system.ftpServer/caching", "MACHINE/WEBROOT/APPHOST")

Set credentialsCacheElement = cachingSection.ChildElements.Item("credentialsCache")
credentialsCacheElement.Properties.Item("enabled").Value = True
credentialsCacheElement.Properties.Item("flushInterval").Value = 300

adminManager.CommitChanges()