預設 FTP 連線設定 < 連線>
概觀
元素 <connections>
會指定 FTP 月臺的連接相關設定。 更具體來說,元素中的 <connections>
設定會控制 FTP 服務的行為,以瞭解如何管理連線到 FTP 月臺的用戶端。
例如, unauthenticatedTimeout
、 controlChannelTimeout
和 dataChannelTimeout
屬性會指定 FTP 月臺的逾時。 這些設定分別指定 FTP 服務何時會中斷未成功登入或閒置的 FTP 用戶端,或何時中斷閒置資料連線的連線。 指定 元素中屬性的值,可協助原則 FTP 月臺的作用中 <connections>
用戶端會話數目,以直接影響伺服器的整體效能。
相容性
版本 | 備註 |
---|---|
IIS 10.0 | 未在 IIS 10.0 中修改專案 <connections> 。 |
IIS 8.5 | 未在 IIS 8.5 中修改專案 <connections> 。 |
IIS 8.0 | 未在 IIS 8.0 中修改專案 <connections> 。 |
IIS 7.5 | 元素 <connections> 的 <ftpServer> 元素隨附為 IIS 7.5 的功能。 |
IIS 7.0 | 元素 <connections> 的 <ftpServer> 元素是在 FTP 7.0 中引進,這是 IIS 7.0 的個別下載專案。 |
IIS 6.0 | N/A |
使用 Windows 7 和 Windows Server 2008 R2 時,FTP 7.5 服務隨附為 IIS 7.5 的功能,因此不再需要下載 FTP 服務。
安裝程式
若要支援 Web 服務器的 FTP 發佈,您必須安裝 FTP 服務。 若要這樣做,請使用下列步驟。
Windows Server 2012 或 Windows Server 2012 R2
在工作列上,按一下 [伺服器管理員]。
在[伺服器管理員] 中,按一下 [管理] 功能表,然後按一下 [新增角色及功能]。
在 [ 新增角色及功能精 靈] 中,按 [ 下一步]。 選取安裝類型,然後按 [ 下一步]。 選取目的地伺服器,然後按 [ 下一步]。
在 [ 伺服器角色] 頁面上,展開 [ Web 服務器 (IIS) ],然後選取 [ FTP 伺服器]。
按 [下一步],然後在 [ 選取功能 ] 頁面上,再次按 [ 下一步 ]。
在 [確認安裝選項] 頁面上,按一下 [安裝]。
在 [結果] 頁面上,按一下 [關閉]。
Windows 8 或 Windows 8.1
在 [開始] 畫面上,將指標一路移至左下角,以滑鼠右鍵按一下 [開始] 按鈕,然後按一下[主控台]。
在主控台中,按一下 [程式和功能],然後按一下 [開啟或關閉 Windows 功能]。
展開 [Internet Information Services],然後選取 [ FTP 伺服器]。
按一下 [確定]。
按一下 [關閉] 。
Windows Server 2008 R2
在工作列上,按一下 [開始],指向 [系統管理工具],然後按一下[伺服器管理員]。
在[伺服器管理員階層] 窗格中,展開 [角色],然後按一下 [Web 服務器] (IIS) 。
在 [ Web Server (IIS) ] 窗格中,捲動至 [ 角色服務 ] 區段,然後按一下 [ 新增角色服務]。
在 [新增角色服務精靈] 的 [選取角色服務] 頁面上,展開[FTP 伺服器]。
選取 [FTP 服務]。
按一下 [下一步] 。
在 [確認安裝選項] 頁面上,按一下 [安裝]。
在 [結果] 頁面上,按一下 [關閉]。
Windows 7
在工作列上,按一下 [開始],然後按一下[主控台]。
在主控台中,按一下 [程式和功能],然後按一下[開啟或關閉 Windows 功能]。
展開 [Internet Information Services],然後展開 [ FTP 伺服器]。
選取 [FTP 服務]。
按一下 [確定]。
Windows Server 2008 或 Windows Vista
從下列 URL 下載安裝套件:
請遵循下列逐步解說中的指示來安裝 FTP 服務:
作法
如何設定所有 FTP 月臺的預設控制項和資料通道逾時
開啟 [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) Manager。
在 [ 連線] 窗格中,按一下伺服器名稱,然後按一下 [月臺 ] 節點。
在 [網站]窗格中,按一下 [動作] 窗格中的[設定 FTP 月臺預設值...]。
在 [ 進階設定] 對話方塊中,展開 [ 連線],在 [ 控制通道逾 時] 和 [ 資料通道逾 時] 欄位中指定逾時,然後按一下 [ 確定]。
組態
屬性
屬性 | 描述 |
---|---|
controlChannelTimeout |
選擇性 int 屬性。 指定因為控制通道上的閒置而逾時時,以秒為單位。 注意: 當達到此逾時時,FTP 服務將會中斷會話的連線。 預設值是 120 。 |
dataChannelTimeout |
選擇性 int 屬性。 指定逾時,以秒為單位,當連線因為資料通道上的閒置而逾時。 注意: 只有在達到此逾時時,FTP 服務才會中斷資料通道的連線。 預設值是 30 。 |
disableSocketPooling |
選擇性 Boolean 屬性。 如果停用通訊端共用,則為true;否則為false。 屬性 disableSocketPooling 會指定通訊端共用是否用於以 IP 位址辨別的網站,而不是埠號碼或主機名稱。 如果 disableSocketPooling 設定為 false,則會啟用通訊端共用,並在使用相同通訊端號碼但不同 IP 位址的網站之間共用通訊端。 在此情況下,FTP 服務會成為系結至伺服器之每個位址上端口的獨佔擁有者。 例如,如果在具有兩個 IP 位址的伺服器上啟用通訊端共用:10.0.0.1 和 10.0.0.2,而 FTP 月臺系結至埠 21 上的位址 10.0.0.0.1,FTP 服務也會擁有 10.0.0.2 位址上的埠 21。 如果 disableSocketPooling 設定為 true,則根據 IP 位址的網站沒有通訊端共用。 預設值是 false 。 |
maxBandwidth |
未使用的 uint 屬性。 注意: 這個屬性不會針對 FTP 7 實作。 |
maxConnections |
選擇性單位屬性。 指定 FTP 月臺的同時連線數目上限。 注意:使用 messages > 元素的 < maxClientsMessage 屬性,指定當超過同時連線數目上限時,FTP 服務會傳回給用戶端的訊息。 預設值為 4294967295 無限制 (。) |
minBytesPerSecond |
選擇性 int 屬性。 指定資料傳輸的最低頻寬需求。 注意: 當不符合最小頻寬時,FTP 服務會中斷資料通道的連線。 預設值是 240 。 |
resetOnMaxConnections |
選擇性 Boolean 屬性。 如果 FTP 服務應該快速中斷 FTP 會話的連線,而不是傳送最大連線回應,則為 true;否則 為 false。 注意: 屬性 resetOnMaxConnections 會在處理不允許連線的連線時優化額外負荷,因為達到 maxConnection 限制。預設值是 false 。 |
serverListenBacklog |
選擇性 int 屬性。 指定可排入佇列的未處理通訊端數目。 預設值是 60 。 |
unauthenticatedTimeout |
選擇性 int 屬性。 指定建立新連線且驗證成功之間的閒置逾時,以秒為單位。 如果用戶端未在指定的時段內成功驗證,FTP 服務將會中斷會話的連線。 預設值是 30 。 |
子元素
無。
組態範例
下列組態範例會顯示預設控制通道逾時設定為 300 秒之伺服器的範例 <connections>
專案。
<siteDefaults>
<ftpServer>
<connections controlChannelTimeout="300" />
</ftpServer>
</siteDefaults>
範例程式碼
下列程式碼範例說明如何將預設控制通道逾時設定為 300 秒。
AppCmd.exe
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.ftpServer.connections.controlChannelTimeout:"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 sitesSection = config.GetSection("system.applicationHost/sites");
ConfigurationElement siteDefaultsElement = sitesSection.GetChildElement("siteDefaults");
ConfigurationElement ftpServerElement = siteDefaultsElement.GetChildElement("ftpServer");
ConfigurationElement connectionsElement = ftpServerElement.GetChildElement("connections");
connectionsElement["controlChannelTimeout"] = 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 sitesSection As ConfigurationSection = config.GetSection("system.applicationHost/sites")
Dim siteDefaultsElement As ConfigurationElement = sitesSection.GetChildElement("siteDefaults")
Dim ftpServerElement As ConfigurationElement = siteDefaultsElement.GetChildElement("ftpServer")
Dim connectionsElement As ConfigurationElement = ftpServerElement.GetChildElement("connections")
connectionsElement("controlChannelTimeout") = 300
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST");
var siteDefaultsElement = sitesSection.ChildElements.Item("siteDefaults");
var ftpServerElement = siteDefaultsElement.ChildElements.Item("ftpServer");
var connectionsElement = ftpServerElement.ChildElements.Item("connections");
connectionsElement.Properties.Item("controlChannelTimeout").Value = 300;
adminManager.CommitChanges();
VBScript
Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST")
Set siteDefaultsElement = sitesSection.ChildElements.Item("siteDefaults")
Set ftpServerElement = siteDefaultsElement.ChildElements.Item("ftpServer")
Set connectionsElement = ftpServerElement.ChildElements.Item("connections")
connectionsElement.Properties.Item("controlChannelTimeout").Value = 300
adminManager.CommitChanges()