Windows Server 2012 架設 IIS8 WEB 與 Passive Mode FTP Server

系統平台和資料庫安裝完成後,最後的工作就是把 Web Server 給架起來。
1

1. 請開啟控制台 –> 點選「開啟或關閉 Windows 功能」。
9

2. 接下來會出現「新增角色及功能精靈」,直接下一步。
a

3. 選擇「角色型或功能型安裝」,下一步。
b

4. 確認伺服器資訊,直接下一步。
c

 

5.伺服器角色,請勾選「網頁伺服器(IIS)」並確定「新增功能」。
5
6. 功能部分,
到「.NET Framework 3.5 功能」點開左邊向右的三角指標,將「HTTP 啟用」和「非HTTP啟用」選項勾選並確定「新增功能」。
到「.NET Framework 4.5 功能」點開左邊向右的三角指標,將「WCF 服務裡的 TCP啟用」選項勾選並確定「新增功能」。
一切依照自己的需求勾選,再按「下一步」。
6 7 8

7. 網頁伺服器角色(IIS),費話一堆直接「下一步」。
9

8. 角色服務
到「安全性」,將「IP及網域限制」和「集中式 SSL 憑證支援」選項勾選。
到「FTP 伺服器」,將所有選項勾選。(因為我們是要用到 IIS 的FTP功能來維護網站的資料)
一切依照自己的需求勾選,再按「下一步」。
a b c

9. 安始安裝 IIS 囉。
d

10. 安裝成功後,直接用 IE 開啟網址 http://127.0.0.1,就可以看到 IIS Default Page,俗稱預設歡迎網頁~哈。
e

11. OK~工作還未完成,還有 FTP 要做設定,接下來開啟 IIS 管理員,較以往版本不同的是還要新增 FTP 站台。
f1

12. 繫結和 SSL 設定,選擇沒有SSL。(秉持老闆的越簡單越好…哈)
f2

13. 驗證和授權資訊,一樣我們採用與 Server 同一個最大權限使用者的帳號密碼。
f3

14. 完成新增 FTP 站台。
f4

15. FTP 在 Windows 防火牆規則已自動啟用,若設定完成記得將主機重開機,否則會有非預期的錯誤(客戶端無法連線)。
f5

9. 照常理來說,客戶端已順利連線至 FTP 伺服器,NO~因為我們還要設定被動模式 Passive Mode,Why?還要設定這個呢?

使用被動模式 FTP ,不論命令連線或是資料連線都是由用戶端建立,以解決防火牆以及相關資安問題。當用戶端開啟 FTP 連線時,用戶端程式先在本機開兩個大於1023的通訊埠(N, N+1),利用 port N 與伺服器的 port 21 建立連線。不同於主動模式的連線方式,用戶端這次不再提供 N+1 port  與 IP 位址給伺服器,而是送出 PASV 的命令。伺服器收到 PASV 的命令之後,即開啟一個大於 1023 的通訊埠(P),並將這個通訊埠連同伺服器 IP 回覆給用戶端,被動等待用戶端連線,用戶端即利用 port N+1與伺服器所提供的 port P 建立資料連線。

以伺服器的觀點來看,要完成一個被動式連線,伺服器必須提供以下幾個溝通管道:

FTP 伺服器開啟 port 21 接受來自外部任意通訊埠的連線(由用戶端要求建立連線)
FTP 伺服器使用 port 21 連線到外部任一大於 1023 的通訊埠(回應用戶端的命令埠)
FTP 伺服器開啟一個大於 1023 的通訊埠,接受來自外部任一大於 1023 的通訊埠連線 (用戶端與伺服器建立資料連線)
FTP 伺服器使用一個大於 1023 的通訊埠,連線到外部任一大於 1023 的通訊埠(伺服器回復資料給用戶端)
以下我們利用一張圖來做說明:


passiveftp.jpg

(可以參考這篇:主動式與被動式 FTP 比較

所以呢!請開啟 IIS 管理員,選擇最左邊您的「伺服器」(別選到站台喔!會不能生效),再點選右邊的「FTP 防火牆支援」。
f7

16. FTP 防火牆支援,設定資料通道連接埠範圍,我這邊設定 5432-5433,當然你可以設定很多組,只是好像也沒有必要,且等等在 Microsoft Azure 入口網站會設定的很累。另外防火牆的外部IP位置可以直接到 Microsoft Azure 入口網站的 VM 儀錶板左邊查詢。
f8
f6

17. 設定完成它會提醒你要去設定 Windows 防火牆。
f9

18. 到控制台的 Windows 防火牆,選擇左邊的「輸入規則」(就是開放讓外面的連線進來),這邊其實小編習慣自己建立一個規則,將所需要開放的連接埠都設定進去,這樣以後要維護也很方便!不用一直再輸入規則去找,所以再點選最右邊動作的「新增規則」。
fa

19. 規則類型,請選擇「連接埠」,再按「下一步」。
fb

20. 通訊協定及連接埠選擇「TCP」,特定本機連接埠(S)請填入你要開放的連接埠,我除了 Web 要用到的 80、443 Port 外,FTP 會用到的 21 Port,還有剛剛設定的 Passive Mode Port 也一併設定上去,再按「下一步」。
fc

21. 動作當然是選擇「允許連線(A)」,名稱就自訂囉,其它就一直下一步做完吧。
fd

22. Windows 防火牆輸入規則設定完畢。
ff

23. 好了嗎?當然還沒啦!別忘了 Microsoft Azure 也有一道防火牆喔,請進入 Microsoft Azure 入口網站並到 VM 的 「端點」,可以看到他預設開放的連接埠,OK~接著我們要加入剛剛設定好的連接埠,點選下方的「加入」。
fg

24. 選擇「加入獨立端點」(除非你的 VM 有負載平衡集)
fh

25. 若要加入 FTP 連接埠,名稱就選擇 「FTP」 (也可以自訂喔),公用連街埠和私用連接埠請直接打上「21」,當然公私用連接埠可以不一樣,只是私用連接埠必須配合剛剛在 Server 上設定的數值,另外公用連接埠請記得你設定的數值是多少,因為之後你在 FTP Client 軟件設定需要配合喔(這是安全做法啦),完成點選右下方的勾勾。
fi

26. 請依序將你需要開放的連接埠設定上去,一個連接埠設定一次(無法使用連續數字方式,如 5631~5634,必須 5631、5632、5633、5634),很麻煩吧!所以前面提到 Passive Mode Port 不用設定太多,在這邊設定會很累 …
fj

27. 萬事俱備只欠東風,快來試試成果囉,用一般外部可連 internet 電腦使用 Command Mode 直接下 ftp 169.168.167.1 (防火牆外部IP,如何查詢請參考第 16 步驟,這個 IP 是小編亂掰的嘿~你不要真的去試嘿),看到「230 User logged in .」就代表連線成功囉!打完收工。
fk

 

發表留言

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料