案例:在 IIS 上建置 FTP 網站
由基思·紐曼和 羅伯特·麥克默里
檔案傳輸通訊協定 (FTP) 簡單是一種在電腦系統之間傳輸檔案的通訊協定。 IIS 8 包含易於設定的 FTP 伺服器。
檔說明如何在現有的 IIS 8 網頁伺服器上安裝和設定 FTP 伺服器。 前兩個步驟是必要的。 所有其他步驟都是選擇性的,但建議使用。
必要條件
若要充分利用本教學課程,您必須能夠存取執行下列其中一個操作系統的計算機:
- Windows Server® 2012
- Windows® 8
步驟 1:在現有的 IIS Web 伺服器上安裝 FTP
此步驟說明如何在 Windows Server 2012 或 Windows 8 上執行的現有 IIS 網頁伺服器上安裝 FTP 服務。
在 Windows Server 2012 上安裝 FTP
- 在 [開始] 畫面上,按兩下 [伺服器管理員] 圖格,然後按兩下 [是]。
- 在 [伺服器管理員儀表板] 中,按一下 [新增角色及功能] 。
- 如果出現 [新增角色及功能精靈] 的 [在您開始前] 頁面,請按 [下一步] 。
- 在 [選取安裝類型] 頁面上,選取 [角色型或功能型安裝] ,然後按 [下一步] 。
- 在 [選取目的地伺服器] 頁面上,選取 [從伺服器集區選取伺服器] ,從 [伺服器集區] 清單中選取您的伺服器,然後按 [下一步] 。
- 在 [選取伺服器角色] 頁面上,展開 [網頁伺服器 (IIS)] 節點,然後展開 [FTP 伺服器] 節點。
- 選取 [FTP 伺服器] 核取方塊和 [FTP 服務] 核取方塊,然後按 [下一步] 。
- 在 [選取功能] 頁面上,按一下 [下一步] 。
- 在 [確認安裝選項] 頁面上,按一下 [安裝] 。
在 Windows 8 上安裝 FTP
- 在 [開始] 畫面上,輸入 控制台,然後單擊搜尋結果中的 控制台 圖示。
- 按兩下 [ 程式],然後按兩下 [ 開啟或關閉 Windows 功能]。
- 在 [Windows 功能] 對話框中,展開 [網際網路資訊服務] 節點。
- 展開 [FTP 伺服器] 節點。
- 選取 [ FTP 伺服器 ] 複選框和 [FTP 服務 ] 複選框,然後按兩下 [ 確定]。
步驟 2:新增 FTP 網站
在 IIS 網頁伺服器上安裝 FTP 服務之後,您可以新增一或多個 FTP 網站。 當您想要讓用戶端使用檔案傳輸通訊協定 (FTP) 來回傳輸檔案時,請新增 FTP 月臺。
注意
因為 FTP 設定包含在 [網站] 區段中,因此變更任何 FTP 設定也會強制網站應用程式回收。 如果您想要避免此副作用,請新增專門針對 FTP 設定的網站,而不是針對 HTTP 和 FTP。
新增 FTP 站台
開啟 [IIS 管理員]。
在 [連線] 窗格中,展開伺服器節點並按一下 [站台] 節點。
在 [動作] 窗格中,按一下 [新增 FTP 站台] ,以開啟 [新增 FTP 站台] 精靈。
在 [站台資訊] 頁面的 [FTP 站台名稱] 方塊中,輸入 FTP 站台的唯一易記名稱。
在 [ 實體路徑] 方塊中,輸入實體路徑 ,或按下瀏覽按鈕 (...) 以找出內容目錄的實體路徑。
按 [下一步] 開啟 [繫結和 SSL 設定] 頁面。
在 [繫結] 下的 [IP 位址] 清單中,如果您不想要讓 IP 位址維持 [全部未指派] ,請選取或輸入此 IP 位址。
在 [連接埠] 方塊中,輸入連接埠號碼。
(選擇性) 在 [虛擬主機] 方塊中,如果您想要在單一 IP 位址上主控多個 FTP 站台,請輸入主機名稱。 例如,輸入
www.contoso.com
。如果您想要以手動方式啟動站台,請清除 [自動啟動 FTP 站台] 方塊。
在 [SSL] 下,從 [SSL 憑證] 清單中選取憑證。 (選擇性) 按一下 [檢視] 開啟 [憑證] 對話方塊,並確認所選憑證的相關資訊。
選取下列其中一個選項:
- 允許 SSL:允許 FTP 伺服器支援用戶端使用非 SSL 和 SSL 連線。
- 必須使用 SSL:FTP 伺服器和用戶端之間的通訊需要 SSL 加密。
按 [下一步] 開啟 [驗證和授權資訊] 頁面。
在 [驗證] 下,選取您想要使用的驗證方法 (不限一個):
- 匿名:允許任何使用者只要提供使用者名稱 anonymous 或 ftp,就能存取內容 (大部分 FTP 用戶端會自動為您輸入使用者名稱)。
- 基本:要求使用者提供有效的使用者名稱和密碼,才能存取內容。 因為基本驗證會在網路上傳輸未經加密的密碼,只有當您知道用戶端與 FTP 伺服器之間的連線很安全時,例如使用安全通訊端層 (SSL),才應該使用此驗證方法。
在 [授權] 下,從 [允許存取] 清單中選取下列其中一個選項:
- 所有使用者:所有使用者無論是匿名或已識別,都可以存取內容。
- 匿名使用者:匿名使用者可以存取內容。
- 指定的角色或使用者群組:只有特定角色或使用者群組的成員才能存取內容。 請在對應的方塊中輸入角色或使用者群組。
- 指定的使用者:只有指定的使用者才能存取內容。 請在對應的方塊中輸入使用者名稱。
如果您從 [允許存取] 清單中選取選項,請選取下列一個或兩個權限:
- 讀取:允許授權的使用者讀取目錄的內容。
- 寫入:允許授權的使用者寫入目錄。
按一下完成。
步驟 3:設定 FTP 月臺預設值
當您想要新的 FTP 月臺使用不同的預設值時,請變更 FTP 月臺預設值。
注意
當您變更預設值時,不會以新的值覆寫現有的網站。 手動變更任何現有網站的值。
設定 FTP 月台預設值
- 開啟 [IIS 管理員]。
- 在 [連線 ions] 窗格中,按兩下伺服器節點和 [月臺] 節點。
- 在 [ 動作] 窗格中,按兩下 [ FTP 網站預設值]。
- 編輯設定,然後按兩下 [ 確定]。
下表列出 [FTP 月臺預設值] 對話框中的組態可用設定。
設定類別 | 設定名稱 | 描述 |
---|---|---|
一般 | 允許UTF-8 | 指定是否要使用UTF8編碼。 預設為 true。 |
一般 | 自動啟動 | 如果為 true,則會在建立或 FTP 服務啟動時啟動 FTP 網站。 預設為 true。 |
連線 | 控制通道逾時 | 指定連線因閑置而逾時時(以秒為單位)。 |
連線 | 數據通道逾時 | 指定數據通道因閑置而逾時時(秒為單位)。 |
連線 | 停用套接字共用 | 指定套接字共用是用於以IP位址辨別的網站,而不是埠號碼或主機名。 |
連線 | 連線數目上限 | 指定與伺服器同時連線的最大數目。 |
連線 | 在最大 連線 重設 | 指定是否要在傳送最大連線回應時中斷 FTP 工作階段的連線。 |
連線 | 伺服器接聽待辦專案 | 指定可以排入佇列的未處理套接字數目。 |
連線 | 未經驗證的逾時 | 指定在建立新連接且驗證成功時之間的逾時(以秒為單位)。 |
認證快取 | 已啟用 | 指定是否為 FTP 服務啟用認證快取。 |
認證快取 | 排清間隔 | 指定儲存在快取中的認證,以秒為單位的快取存留期。 |
檔案處理 | 允許在上傳時讀取檔案 | 指定在傳輸至伺服器時是否可以讀取檔案。 |
檔案處理 | 在重新命名時允許取代 | 指定檔案是否可以在重新命名時覆寫其他檔案。 |
檔案處理 | 保留部分上傳 | 指定是否保留部分上傳的檔案。 |
步驟 4:設定防火牆支援
使用 FTP 防火牆支援功能來設定下列設定,讓 FTP 伺服器接受來自防火牆的被動數據連線:
- 數據通道埠範圍:指定被動數據連線的埠範圍。 您也必須在防火牆上開啟相同的埠範圍。 此選項只能設定在伺服器層級,而 「0-0」 的埠範圍表示使用伺服器的暫時埠範圍。 暫時埠是 TCP/IP 從預先定義範圍配置的短期傳輸通訊協定埠。
- 防火牆的外部IP位址:指定防火牆的外部IP位址,讓用戶端知道透過防火牆與FTP伺服器通訊時要使用的IP位址。
設定防火牆支援
開啟 [IIS 管理員]。
在 [連線 ions] 窗格中,選取伺服器節點。
在 [功能檢視] 中,按兩下 [FTP 防火牆支援]。
在 [ 數據通道埠範圍] 方塊中,輸入埠號碼範圍(以連字元分隔)。 例如,輸入 5000-6000。 或輸入 0-0 以使用 Windows TCP/IP 設定中指定的預設埠範圍。
注意
請勿使用埠 0-1024,因為這些埠是保留的埠。
在 [ 防火牆的外部IP位址] 方塊中,輸入防火牆的IP位址。
在 [動作] 窗格中,按一下 [套用]。
步驟 5:設定用戶隔離
用戶隔離功能可讓您設定 FTP 伺服器來隔離使用者,以防止使用者存取相同 FTP 網站上的其他用戶目錄。 如果您選擇不隔離用戶,他們會共用通用目錄結構。
例如,您可以選擇不隔離網站上只提供共用內容的下載功能或不需要保護使用者之間數據的網站的使用者。
如果您想要隔離網站上的使用者,您可以選擇下列其中一個隔離選項:
- 使用者名稱目錄:將使用者會話隔離到具有相同 FTP 使用者帳戶名稱的實體或虛擬目錄。 使用者只會看到其 FTP 根位置,因此受限於在實體或虛擬目錄樹狀結構上流覽。 系統會忽略所建立的任何全域虛擬目錄。
- 用戶名稱實體目錄:將使用者會話隔離至具有相同 FTP 使用者帳戶名稱的實體目錄。 使用者只會看到其 FTP 根位置,因此受限於在實體目錄樹狀結構上流覽。 建立的任何全域虛擬目錄都會套用至所有使用者。
- Active Directory 中設定的 FTP 主目錄:將用戶會話隔離至每個 FTP 使用者的 Active Directory 帳戶設定中所設定的主目錄。
設定用戶隔離
開啟 [IIS 管理員]。
在 [功能檢視] 中,按兩下 [FTP 使用者隔離]。
如果您不想隔離使用者,請在 [不要隔離使用者] 底下 。在 中啟動使用者,選取下列其中一個選項:
- FTP 根目錄:指定所有 FTP 工作階段都會在 FTP 月臺的根目錄中啟動。 這個選項會停用所有使用者隔離和啟動資料夾邏輯。
- 用戶名稱目錄:指定如果資料夾存在,所有 FTP 工作階段都會在實體或虛擬目錄中以目前登入的使用者相同名稱啟動;否則,FTP 工作階段會從 FTP 月臺的根目錄中開始。
如果您想要隔離使用者,請在 [隔離使用者] 底下 。將使用者限制為下列目錄,選取下列其中一個選項:
- 使用者名稱目錄(停用全域虛擬目錄):將使用者會話隔離至具有相同 FTP 使用者帳戶名稱的實體或虛擬目錄。
- 使用者名稱實體目錄(啟用全域虛擬目錄):將使用者會話隔離至具有相同 FTP 使用者帳戶名稱的實體目錄。
- Active Directory 中設定的 FTP 主目錄:將用戶會話隔離至每個 FTP 使用者的 Active Directory 帳戶設定中所設定的主目錄。
- 自定義:此選項是進階功能,可讓開發人員建立自定義提供者,以根據其獨特的業務需求提供主目錄查閱。
如果您在上一個步驟中選取了 Active Directory 中設定的 FTP 主目錄,請按兩下 [設定] 按鈕,然後在 [設定認證] 對話框的 [設定認證] 對話框的 [使用者名稱和密碼] 方塊中輸入使用者名稱和密碼。 在 [確認密碼] 方塊中 再次輸入密碼 ,然後按兩下 [ 確定]。
在 [動作] 窗格中,按一下 [套用]。
步驟 6:設定目錄瀏覽選項
目錄瀏覽功能可讓您控制使用者流覽 FTP 目錄時所顯示的內容。
設定目錄瀏覽選項
開啟 [IIS 管理員]。
在 [連線 ions] 窗格中,選取伺服器層級或月臺層級。
在 [功能檢視] 中,按兩下 [FTP 目錄流覽]。
在 [FTP 目錄瀏覽] 頁面上的 [目錄列表樣式] 底下,選取下列其中一個選項:
- MS-DOS:以與 MS-DOS 一致的方式顯示目錄內容。
- UNIX:以與 UNIX 一致的方式顯示目錄內容。
在 [目錄清單選項] 下,選取您要顯示在目錄清單中的資訊。 您可以選擇下列任一選項:
- 虛擬目錄:顯示虛擬目錄。
- 可用位元組:以位元組為單位顯示檔案大小。
- 四位數年份:使用四位數而非兩位數來顯示年份。
在 [動作] 窗格中,按一下 [套用]。
步驟 7:設定登入嘗試限制
這項功能可讓您設定在IP位址遭到拒絕之前,在指定時間內允許的失敗登入嘗試次數上限。
設定登入嘗試限制
- 開啟 [IIS 管理員]。
- 在 [連線 ions] 窗格中,選取伺服器層級。
- 在 [功能檢視] 中,按兩下 [FTP 登入嘗試限制]。
- 在 [ FTP 登入嘗試限制 ] 頁面上,選取 [ 啟用 FTP 登入嘗試限制 ] 複選框。
- 在 [ 失敗登入嘗試 次數上限] 方塊中,輸入正整數。 預設值為 4。
- 在 [ 時間週期(以秒為單位)] 方塊中,輸入正整數。 預設值是 30。
- 根據登入嘗試次數或僅寫入記錄檔,選取 [拒絕IP位址]。 如果您選擇 [僅寫入記錄檔],即使超過失敗嘗試次數上限,IIS 也不會限制用戶端。
- 在 [ 動作] 頁面中,按兩下 [ 套用]。
步驟 8:設定要求篩選
使用 [FTP 要求篩選] 功能頁定義 FTP 站台的要求篩選設定。 FTP 要求篩選是安全性功能,允許網際網路服務提供者 (ISP) 及應用程式服務提供者限制通訊協定及內容行為。
設定要求篩選
- 開啟 [IIS 管理員]。
- 在 [連線 ions] 窗格中,選取伺服器層級或月臺層級。
- 在 [功能檢視] 中 ,按兩下 FTP 要求篩選 圖示。
- 若要變更一般要求篩選設定,請按兩下 [動作] 窗格中的 [編輯功能] 設定。 然後視需要編輯一般設定。
- 若要根據擴展名新增篩選,請選取 [擴展名] 索引卷標。在 [動作] 窗格中,按兩下 [允許擴展名] 或 [拒絕擴展名]。 然後在 [ 擴展名] 方塊中輸入擴展名 ,然後按兩下 [ 確定]。
- 若要根據 URL 區段新增篩選(例如資料夾名稱),請選取 [ 隱藏區段 ] 索引標籤。在 [動作] 窗格中,按兩下 [ 新增隱藏區段]。 然後在 [ 隱藏區段] 方塊中輸入區段 ,然後按兩下 [ 確定]。
- 若要根據 URL 序列新增篩選,請選取 [拒絕的 URL 序列] 索引標籤 。在 [ 動作] 窗格中,按兩下 [ 新增 URL 順序]。 然後在 [URL 順序] 方塊中輸入序列,然後按兩下 [確定]。
- 若要根據命令新增篩選,請選取 [命令] 索引標籤。在 [動作] 窗格中,按兩下 [允許命令] 或 [拒絕命令]。 然後在 [命令] 方塊中輸入命令,然後按兩下 [確定]。 (警告:新增命令型篩選功能是進階功能。如果您未正確使用此功能,則可以拒絕存取您伺服器上的所有 FTP 用戶端。
步驟 9:設定 FTP 記錄
您可以使用 FTP 記錄 功能在伺服器或月臺層級設定記錄功能,以及設定記錄設定。
設定 FTP 記錄
開啟 [IIS 管理員]。
在 [連線 ions] 窗格中,選取伺服器層級或月臺層級。
在 [功能檢視] 中,按兩下 FTP 記錄圖示。
在 [ 每個 功能表的一個記錄檔] 中,選取 [ 月 臺] 或 [伺服器]。
在 [記錄檔] 底 下,按兩下 [ 選取 W3C 字段],然後選取您要記錄的資訊。
在 [目錄] 下,輸入您要儲存 FTP 記錄檔之基底資料夾的路徑,或按兩下 [瀏覽] 瀏覽至基底資料夾。
在 [編碼] 底下,選取 UTF8 (單一位元組和多位元組字元)或 ANSI (僅限單一位元組字元)。
在 [記錄檔變換] 底下,選取您想要 FTP 從下列清單中建立新記錄檔的方式:
- 排程:選取 [每小時]、[每日]、[每周] 或 [每月],以建立固定時間間隔的新記錄檔。
- 檔案大小上限(以位元組為單位):輸入正整數,以在檔案大小超過該位元元組數目時建立新的記錄檔。
- 請勿建立新的記錄檔
當您希望記錄檔命名和變換是以當地時區為基礎,而不是國際標準時間時,請選取 [ 使用當地時間進行檔案命名和變換 ] 複選框。
在 [動作] 窗格中,按一下 [套用]。
步驟 10:設定 FTP 訊息
使用 FTP 訊息功能來修改使用者連線到 FTP 網站時所傳送訊息的設定。
設定 FTP 訊息
在 [連線 ions] 窗格中,選取伺服器層級或月臺層級。
在 [功能檢視] 中,按兩下 [FTP 訊息]。
在 [FTP 訊息] 頁面上的 [訊息行為] 底下,選取您希望 FTP 訊息的行為。 您可以選擇下列任一選項:
隱藏預設橫幅:指定是否要顯示 FTP 伺服器的預設識別橫幅。
支援訊息中的用戶變數:指定是否要在 FTP 訊息中顯示一組特定的使用者變數。 支援下列使用者變數:
- %BytesReceived% - 從伺服器傳送到用戶端的目前會話的位元組數目。
- %BytesSent% - 從用戶端傳送到伺服器目前會話的位元元組數目。
- %SessionID% - 目前會話的唯一標識符。
- %SiteName% - 裝載目前工作階段的 FTP 網站名稱。
- %UserName% - 目前登入使用者的帳戶名稱。
顯示本機要求的詳細訊息:指定當 FTP 用戶端連接到伺服器本身 (本機主機) 上的 FTP 伺服器時,是否要顯示詳細的錯誤訊息。
在 [消息正文] 底下,於下列方塊中輸入訊息:
- 橫幅:指定 FTP 伺服器第一次連線到 FTP 伺服器時所顯示的訊息。
- 歡迎:指定 FTP 伺服器登入 FTP 伺服器時所顯示的訊息。
- 結束:指定 FTP 伺服器在 FTP 用戶端登出 FTP 伺服器時所顯示的訊息。
- 最大 連線:指定當用戶端嘗試連線且無法連線時,FTP 伺服器所顯示的訊息,因為 FTP 服務已達到允許的用戶端連線數目上限。
在 [動作] 窗格中,按一下 [套用]。