iT邦幫忙

2022 iThome 鐵人賽

DAY 16
0
自我挑戰組

30天 IIS 面面觀系列 第 16

Day16. 通信交換,但不會進化 - FTP

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20221001/20142057Jfe1xl65xR.jpg
標題是想到 Pokemon 的通信交換畫面啦,線連著然後交換 Pokemon 的感覺,很有檔案傳輸的意象(?)。在 Windows 上架設 FTP Hosting,IIS 是其中一個算是容易簡便的設定方式。

FTP 全名 File Transfer Protocol,意指檔案傳輸協定。Server 端架設 FTP 服務能夠讓使用者藉由特定方式存取,將檔案傳到 Server 上或從 Server 上下載檔案。有些人就會選擇在自有空間上架設這種服務,方便儲存一些自己的檔案。

之前架設網站的時候也看到過,IIS 對 Site 層級新的時候,可以選擇要建立 Website 或是 FTP Site,今天要看的就是這個部分的設定。如果你這邊沒看到選項,很可能是你安裝的時候沒有勾選到請回去見 Day2 的流程再走一次,確認 FTP 相關功能在那邊是有勾選開啟的。

https://ithelp.ithome.com.tw/upload/images/20221001/20142057tdeLD90wNX.png

https://ithelp.ithome.com.tw/upload/images/20221001/20142057mn64A94Atz.png

最開始要設定的時候也很簡單,基本就只有名字跟你要當成 FTP 的資料夾路徑設定。

https://ithelp.ithome.com.tw/upload/images/20221001/20142057EJh6Q5NRwe.png

相對於 Http 80 跟 443 的廣為人知,FTP 可能比較少人用,但一樣他們有預設 Port 號,處理問題的時候如果看到這些 Port 要有知道這是 FTP 的敏銳,分別是 20 和 21,20 是傳送,21 是接收。IP 位置就看你希望怎麼被存取到這台,可以根據你希望架設的 IP 做設定。Enable Virtual Host Names 的功能是允許用類似 domain 的形式讓 FTP 被存取,相對於記 IP,這個可能更友善一點。還有如果你只有一個 IP,但有多個 FTP 站台,那也需要使用這個讓各站台的存取能夠被區分,不然都是同 IP 同樣指到 21,Server 會沒辦法正確分辨要去給哪個站台。

這個頁面也可以同時設定 SSL,如果僅在內網使用,可以不需要,如果要對外曝光的最好還是有對應的安全設定。有掛上憑證的 FTP 會稱作 FTPS,該協定目前一般檔案總管是不支援的,得去下載對應的 FTP 程式才能夠開啟使用。

https://ithelp.ithome.com.tw/upload/images/20221001/201420578shVmCVugs.png

再來是存取相關權限設定,可以依據各個情況去設定,基本會對應於該資料夾的存取權限,後續想要修改就是去直接用 Edit Permission 的功能。只能讀的權限不能上傳,需要有讀寫才能夠做檔案的上傳。上面的驗證模式是允不允許匿名存取,或是會依登入身分吃到對應認證。兩者同時啟用的時候,會以基本驗證為準。

若這是第一次在這台機器上做 FTP 的設定,也要檢查一下關於防火牆有沒有允許 FTP 通過,我這邊以我本機的 Win10 作範例:

https://ithelp.ithome.com.tw/upload/images/20221001/20142057dzsFhUgg20.png

https://ithelp.ithome.com.tw/upload/images/20221001/20142057Udl6s4RymK.png

https://ithelp.ithome.com.tw/upload/images/20221001/201420572vx0aKNHCo.png

依序按照上面,可以看到目前你的防火牆有沒有允許該應用程式對應的 port 做通訊,依據你的使用情境決定在 Private / Public 的網路環境下開不開起。

這些都設定完後本機的 FTP Server 就應該要起來了,記得如果你是 FTPS 的話就沒辦法用 File Explorer 開啟,要去找像是 FileZelia 之類的軟體來支援。

當你要開啟 ftp 類型的地址時,記得前面加上 ftp:// 作為協定口,可以看到下圖一個是透過資料夾直接存取的,一個是透過 ftp 的方式存取的。

https://ithelp.ithome.com.tw/upload/images/20221001/20142057ij2vLBGfso.png

更多人來看這種系列文的時候應該還是將 IIS 當作 Web Server 架設網站多一些,所以 FTP 的篇幅我們只會有這篇來做一個概述。IIS 一樣有提供 FTP 功能類的一些模組,如下圖:

https://ithelp.ithome.com.tw/upload/images/20221001/20142057Wt62znt6dF.png

基本上我不會一個一個介紹,這邊稍微列一下剛剛架設過程中路過的設定,如果後續建起後想要更改分別是到下面這三個模組去更改:

https://ithelp.ithome.com.tw/upload/images/20221001/20142057sfx9E15yPF.png

其他模組我不一一走過,有興趣的人可以再自行嘗試。

這篇沒講到的細節,或是想要多了解 SSL 的概念,可以參考 Microsoft 的這篇 [MS-FTPS]: File Transfer Protocol over Secure Sockets Layer (FTPS) | Microsoft Learn,很詳細的講述了 FTP 協定的各個層面。如果一般你的使用需求不會用到,那本篇內容讓你對 IIS 上的 FTP 有個初步的認識我覺得就已經足夠,需要的時候再去深查囉。


上一篇
Day15. 來看看 Application Pool 的第二階段,進階設定 - Application Pool Advance Settings (下)
下一篇
Day17. 我是誰 - Authentication
系列文
30天 IIS 面面觀30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言