使用 VWD 部署 FTP 和發佈指南
作者: Olive Oliver
IIS 的 FTP 服務是 Windows Web 平臺的重要元件。 它為 Windows 環境中的 FTP 提供健全且安全的解決方案。 共用裝載 環境管理員可以使用 FTP ,讓客戶上傳和同步處理其內容。 Microsoft Microsoft 和 FTP 的新功能為何? 介紹新的 FTP 功能。 重點如下:
與 IIS 整合:
- 以 .NET XML 為基礎的 *.config 格式為基礎的新組態存放區
- 新增管理工具
新因特網標準的安全性和支援:
- 透過 SSL 的 FTP
- 用於驗證的非 Windows 帳戶
- UTF8 和 IPv6
共用主機改善:
- 將 FTP 系結新增至現有的網站,以裝載來自相同網站的 FTP 和 Web 內容
- 虛擬主機名支援,讓您能夠在相同的IP位址上裝載多個FTP網站
- 透過個別使用者虛擬目錄改善用戶隔離
改善的記錄與支援性功能:
- 增強式 FTP 記錄包含所有 FTP 相關流量、FTP 工作階段的唯一追蹤、FTP 子狀態,以及 FTP 記錄中的其他詳細數據欄位
- 在本機登入 FTP 伺服器時的詳細錯誤回應
- 使用 Windows 事件追蹤 (ETW) 時的詳細資訊,可提供疑難解答的其他資訊
下列影片提供 FTP 7.0 中數項功能的概觀和示範。
部署 FTP
此映射醒目提示共用主控環境中 FTP 部署的幾個重要特性:
- FTP 服務可以共用用於遠端管理 (Web 管理 - WMSVC) 和 MS Deploy 服務的同一部電腦。
- FTP 計算機是 Web 伺服器數位伺服器所使用的的一部分,這表示此電腦上安裝的元件也應該位於 Web 伺服器數位伺服器上。 不過,由於 Web 伺服器陣列不會用來處理 FTP 要求,因此可以停止 FTP、Web 管理 (WMSVC) ,以及 MS Deploy 服務。
- FTP 電腦不是用來裝載 Web 應用程式。
- 因特網對向防火牆路由器會執行 FTP 流量的埠轉送至 FTP 伺服器。
部署組態
IIS 伺服器的 FTP 有數個功能,適合用於共用裝載案例。 下列指導方針會利用新的 FTP 用戶隔離功能。 此功能允許:
- 系統管理員只能存取為使用者定義的實體或虛擬目錄。 這表示實作單一 FTP 月臺;此網站會包含每個用戶名稱的特定實體或虛擬目錄。
- 系統管理員在用戶明確要求時,針對所有連線啟用 SSL 並使用單一憑證。
- 用戶可檢視 FTP 網站,就像只是他們的網站一樣。 當他們登入 FTP 伺服器時,它們會受限於其特定目錄,而且將無法巡覽目錄樹狀目錄。
步驟
建立要用於 FTP 網站的根資料夾,例如:
%*SystemDrive*%\inetpub\ftproot
。或者,如果有 FTP 高可用性和/或負載平衡需求,Microsoft 會提供網路負載平衡或等解決方案,DNS 迴圈配置資源可能已足夠。
建立允許 SSL 連線和基本身份驗證的網站。 請遵循 建立 SSL 已啟用網站 一節中的步驟。
啟用用戶隔離功能。 請遵循設定 所有目錄的用戶隔離 一節中的步驟。
設定 FTP 防火牆設定,如下列 對應 章節所述。
停止 Windows Process Activation Service (WAS) :
- 在命令提示字元中,輸入 services.msc 這會顯示 Services 控制台。
- 按兩下 [Windows 行程啟用服務]。
- 在 [Windows 行程啟用服務屬性] 對話框中,確定此服務的 [啟動類型] 設定為 [已停用]。 按兩下 [停止],然後按兩下 [ 確定]。
- 在命令提示字元中,輸入 services.msc 這會顯示 Services 控制台。
建立已啟用 SSL 的網站
在本節中,您將建立可使用任何用戶帳戶開啟的新 FTP 網站。
移至 [IIS 管理員]。 在 [連線] 窗格中,按兩下樹狀結構中的 [月臺] 節點。
以滑鼠右鍵按兩下樹狀目錄中的 [月臺] 節點,然後按下 [ 新增 FTP 月臺],或按兩下 [動作] 窗格中的 [ 新增 FTP 網站 ]。
當 [新增 FTP 月臺精靈] 出現時:
在 [ FTP 網站名稱 ] 文本框中輸入 [我的新 FTP 網站],然後流覽至您為 FTP 網站建立的根資料夾, (範例:
%*SystemDrive*%\inetpub\ftproot
) 。注意
如果您選擇輸入內容資料夾的路徑,您可以在路徑中使用環境變數。
按一下 [下一步]。
在精靈的下一頁:
- 在 [IP 位址] 文本框中選擇 FTP 網站的 IP 位址 ,或選擇接受預設選取 [所有未指派]。此範例使用本機回送IP“127.0.0.1”。
- 在 [埠] 文本框中輸入 FTP 網站的 TCP/IP 連接埠 。 此範例使用預設埠 “21”。
- 確定 [ 虛擬主機 ] 文本框是空白的。 請勿使用主機名。
- 請確定 [ 憑證 ] 下拉式清單已設定為您想要使用的適當憑證。 此範例使用稱為「我的 FTP 憑證」的自我簽署憑證。如需指示,請參閱 建立自我簽署 SSL 憑證。
- 確定已選取 [ 允許 SSL ] 選項。
- 按一下 [下一步]。
在精靈的下一頁:
針對 [驗證設定] 選取 [基本]。
針對 [授權 ] 設定:
- 從 [允許存取] 下拉式清單中選擇 [所有使用者]。
- 針對 [許可權] 選項選取 [讀取] 和 [寫入]。
當您完成這些專案時,請按兩下 [ 完成]。
摘要
您現在已使用新的 FTP 服務建立新的 SSL 型 FTP 網站。 檢閱您在此程式中完成的專案:
- 您已建立名為 「My New FTP Site」 的新 FTP 網站,將網站的內容根目錄放在
%*SystemDrive*%\inetpub\ftproot
。 - 您將 FTP 月台系結至埠 21 上電腦的 IP 位址。
- 您選擇允許 FTP 網站的安全套接字層 (SSL) ,並選取您的憑證。
- 您已啟用基本身份驗證,並針對所有用戶帳戶建立授權規則,以進行讀取和寫入存取。
如需 XML 組態檔的直接編輯,請參閱編輯 新增 SSL 型 FTP 發佈,方法是編輯 IIS 組態檔來新增 SSL 型 FTP 發佈。
設定所有目錄的用戶隔離
隔離所有目錄的使用者時,所有 FTP 用戶工作階段都會限製為具有相同 FTP 使用者帳戶名稱的實體或虛擬目錄。 此外,將會忽略所有建立的全域虛擬目錄。 在此步驟中,您將為所有目錄設定用戶隔離。
- 在建立資料夾
%*SystemDrive*%\inetpub\ftproot\LocalUser\
。 此資料夾將包含所有本機用戶帳戶目錄。 您可以在檔案共享伺服器上建立此資料夾, (NAS) 。 當您布建用戶帳戶時,也必須將讀取和寫入許可權指派給使用者的內容資料夾。 - 在 IIS 管理員中,按兩下您剛才建立之 FTP 網站的節點。 這會顯示所有 FTP 功能的圖示。
- 按兩下 FTP 使用者隔離圖示以開啟 FTP 使用者隔離功能。
- 顯示 [FTP 使用者隔離] 功能頁面時,請選取 [使用者名稱目錄] (停用全域虛擬目錄) ,然後按兩下 [動作] 窗格中的 [ 套用 ]。
摘要
檢閱您在此程式中完成的專案:您已使用 [使用者名稱目錄] (停用全域虛擬目錄) 選項來 設定 FTP 用戶隔離。 使用此使用者隔離模式時,所有 FTP 使用者工作階段都會限製為具有相同 FTP 使用者帳戶名稱的虛擬或實體目錄,而且將會忽略任何已建立的全域虛擬目錄。
若要為每個使用者建立主目錄,您必須先在 FTP 伺服器的根資料夾下建立虛擬或實體目錄,該資料夾會以您的網域命名,或針對本機用戶帳戶命名為 LocalUser。 接下來,您必須為每個將存取 FTP 網站的使用者帳戶建立虛擬或實體目錄。 下表列出 FTP 服務隨附之驗證提供者的主目錄語法:
用戶帳戶類型 | 實體主目錄語法 |
---|---|
匿名使用者 | %FtpRoot%\LocalUser\Public |
本機 Windows 使用者帳戶 (需要基本身份驗證) | %FtpRoot%\LocalUser\%UserName% |
Windows 網域帳戶 (需要基本身份驗證) | %FtpRoot%\%UserDomain%\%UserName% |
IIS 管理員或 ASP.NET 自定義驗證用戶帳戶 | %FtpRoot%\LocalUser\%UserName% |
注意
在上表中,%FtpRoot% 是您 FTP 網站的根目錄;例如, C:\Inetpub\Ftproot
。
全域虛擬目錄會被忽略;任何 FTP 使用者都無法存取在 FTP 網站根層級設定的虛擬目錄。 所有虛擬目錄都必須明確定義在用戶的實體或虛擬主目錄路徑下。
設定 FTP 防火牆設定
設定 FTP 服務的被動埠範圍
在本節中,您會為FTP服務的被動連線設定伺服器層級埠範圍。 使用下列步驟:
移至 [IIS 管理員]。 在 [連線] 窗格中,按兩下樹狀結構中的伺服器層級節點。
在功能清單中,按兩下 [FTP 防火牆支援] 圖示。
輸入適用於 [資料通道連接埠範圍] 的值範圍。
輸入 FTP 服務的埠範圍之後,請按兩下 [動作] 窗格中的 [ 套用 ] 以儲存組態設定。
注意
埠的有效範圍是 1025-65535。 (埠 1-1024 保留供系統服務使用。)
您可以輸入 「0-0」 的特殊埠範圍,將 FTP 伺服器設定為使用 Windows TCP/IP 動態埠範圍。
如需詳細資訊,請參閱下列 Microsoft 知識庫文章:
- 174904 - ()
https://support.microsoft.com/kb/174904/ "Information about TCP/IP port assignments"
TCP/IP 埠指派的相關信息 - 929851 - 和 Windows Server 2008 中 TCP/IP 的預設動態埠範圍已變更
- 174904 - ()
此埠範圍必須新增至防火牆伺服器的允許設定。
針對防火牆伺服器輸入防火牆伺服器外部 IP位址設定的 IPv4位址。
輸入防火牆伺服器的外部 IPv4 位址之後,請按兩下 [動作] 窗格中的 [ 套用 ] 以儲存組態設定。
摘要
檢閱您在此程式中完成的專案:
- 您已設定 FTP 服務的被動埠範圍。
- 您已針對特定 FTP 網站設定外部 IPv4 位址。
For information about how to configure the Windows Server 2008 Firewall, see (Optional) Step 3: "Configure Windows Firewall Settings. 另請參閱 有關使用防火牆的詳細資訊。
FTP 伺服器名稱範例
當主機服務提供者為其客戶布建帳戶時,FTP 通常是包含的服務。 上述指示會為客戶啟用 IIS 服務的 FTP,但如果只是根據主控公司名稱,FTP 伺服器名稱可能如下所示:
ftp.hostingcompany.comSuch 名稱可能已足夠清楚供所有使用者使用;當客戶使用它來連線到其 FTP 目錄時,他們將會進入其目錄,而且只能看到其資料夾。 但 FTP 伺服器名稱可能不如根據客戶的保留網域吸引客戶使用 FTP 伺服器名稱,例如:
- ftp.customerdomain.com
- customerdomain.com
如果客戶有與其保留功能變數名稱相關聯的 FTP 伺服器名稱,FTP 服務體驗將會更個人化且更具吸引力。 在功能上,它與上一個範例相同,但此選項可簡化客戶的網域命名。 若要為每個客戶設定自定義 FTP 伺服器名稱,您必須為客戶網域建立適當的 DNS 記錄。 這需要額外的布建步驟。如果您為每個客戶提供自定義的 FTP 伺服器名稱,您可能也會想要提供替代伺服器名稱,以防止更新功能變數名稱時發生 FTP 服務中斷。 要連同自定義名稱一起提供的另一個名稱範例如下:ftp.username.hostingcompany.com。在這種情況下,客戶會收到兩個伺服器名稱,而且可以使用任一名稱連線到相同的目錄;例如:
- ftp.customerdomain.com (或 customerdomain.com)
- ftp.username.hostingcompany.com
從 Visual Web Developer 連線
本文到目前為止著重於如何在共用裝載環境中部署 FTP。 本節說明客戶如何使用主機服務提供者提供的 FTP 服務,利用 Visual Web Developer 2008 (VWD) 來發佈其 Web 應用程式。 下列範例假設:
- 主控公司已將帳戶布建給名為 「ftpuser1」 的使用者。
- 主控公司已建立對應的虛擬資料夾 「ftproot\LocalUser*ftpuser1*」。。
若要使用 VWD 發佈 Web 應用程式內容,ftpuser1 會執行下列步驟:
Ftpuser1 會在 Visual Web Developer 2008 (VWD) 中開啟名為 “WebSite1” 的網站。
Ftpuser1 會從 [網站] 功能選取 [複製網站]。
Ftpuser1 按兩下 [ 連線]。
Ftpuser1 輸入下列值:
- 主控公司提供的 FTP 伺服器名稱。 在下列範例中,回送IP位址是127.0.0.1。
- 連接埠。 在下列範例中,預設值為埠 21。
- 被動模式選項。
- 基本身份驗證選項。 Ftpuser1 取消選取匿名登入。
- 用戶名稱:ftpuser1。
- Password。
Ftpuser1 然後按兩下 [ 開啟]。
Ftpuser1 的資料夾會出現在 [遠端網站] 窗格中。 在下列範例中,窗格是空的,因為 ftpuser1 第一次發佈網站。
Ftpuser1 藉由選取所有檔案和資料夾,然後按兩下 [ 同步處理],發佈 [來源網站] 窗格中的所有內容專案:
- Ftpuser1 單擊左窗格。
- Ftpuser1 輸入 Ctrl+A,以選取所有檔案。
- Ftpuser1 單擊位於兩個窗格之間的同步 處理 (, 第三個按鈕位於頂端) 。
檔案和資料夾會上傳至 FTP 伺服器,並儲存在使用者的虛擬目錄中:ftpuser1。 (使用者不會察覺同一部伺服器上的其他用戶內容,因為使用者隔離限制。)
結論
本指南提供在共用裝載環境中安裝和設定 IIS 服務所需的資訊。 它也會顯示客戶如何利用 Visual Web Developer 將其內容發佈至其 FTP 網站目錄。