邊做邊學IIS 7.5系列影片學習心得筆記

我是當選 Microsoft Most Valuable Professional (MVP, 微軟最有價值專家) 之後才知道有區分為 IT Pro 與 Developer,我競選的是 ASP.NET/IIS 分類( Developer ),事後才知道,此ASP.NET/IIS 分類競爭激烈,但這裡我有個問題,IIS 本身應該算 IT Pro 還是 Developer 管理呢?

Developer 寫完 Code,然後佈署至 IIS。ASP.NET Code / ASP.NET MVC Code 必須運作在 IIS 之下,這沒有問題。但 Developer 是否需要去了解 IIS 的運作及設定?還是另有 IT Pro 的人去進行管理?(見Plurk討論)

以上問題,見人見知,或是見公司見知。像我就是校長兼打鐘,我個人的見解是,Developer 雖然不用去非常了解整個 IIS 運作設定,但對於 IIS 還是要有基礎,有時問題不在 Code 上面,但 Developer 只會往 Code 上去找問題,到是常見的情況。

以下為看完「邊做邊學IIS 7.5系列」 心得筆記。

講師:王寧疆 老師
投影片下載:IIS 7.5 系列教學

IIS 7.5 系列教學影片(1) 筆記

了解為什麼要改使用 IIS 7.5,IIS 7.5 與 IIS 6 的差異。反正改用 IIS 7.5 就對了,就算在不支援 IIS 7.5 的環境,也可以改使用 IIS 7.5 Express 來測試,例如,在 Visual Studio 2008 / Visual Studio 2010 原本的【ASP.NET 程式開發伺服器】是 IIS 6.0 架構,就應該改使用 IIS 7.5 Express 來執行及測試。

IIS 7.5 系列教學影片(2) 筆記

此篇,你可以學習到以下主題:
  • appcmd
    讓我們可以透過下指令方式來管理 IIS。
    在【命令提示字元】(需系統管理員帳戶)請進入 cd %windir%\system32\inetsrv ,輸入 【appcmd.exe】及相關參數即可。
  • URL Rewrite
    讓我們可以改寫網址規則,例如,原始為 Order.aspx?CusId=ADSF,改寫為 Order/CusId/ADSF。
  • IIS 7.5 Express 介紹
  • 預設文件
    了解如何設定預設文件。
  • 功能委派
    讓我們的伺服器管理員,可以開放或關閉特定功能給網站或其他人。
    設定有三種:
    【未委派】:等於不能讀取/寫入。
    【讀取】:只能讀取。
    【讀取/寫入】:可讀取與寫入。除此項之外,未委派與讀取如有寫入動作,都會產生錯誤。
  • Web Deploy
    可使用【IIS 匯出/匯入】與【MsDeploy.exe】,
    【MsDeploy.exe】 目前我電腦中已經有V3:
    V2 Path:C:\Program Files\IIS\Microsoft Web Deploy
    V3 Path: C:\Program Files\IIS\Microsoft Web Deploy V3

IIS 7.5 系列教學影片(3) 筆記

這一篇我們習學到如何利用 IIS 來做活動分析。這部分的內容,我覺得 Developer 應該要去好好了解,例如,使用者反應網站變慢,怎麼查?查程式?開 Visual Studio 查嗎?查資料庫?開 SSMS 查詢嗎?我們應該學習更有效的方法來處理,而且是可以提出數據的處理。這篇給了我們一個很好的方向。
IIS Log 可以透過 Log Parse 或 Log parser Lizard 來幫忙分析。

IIS 7.5 系列教學影片(4) 筆記

第四部談 IIS 與安全設定。我們在撰寫程式時,都會進行許多安全方面的工作,從最前的表單驗證、SQL Injection、XSS…各式各樣的防護工作,但怎麼不會去想如何在【第一關】去進行防護,即一個 Request 一進來第一關一定先碰到 IIS,有了 IIS 確認 Request 之後確認之後,才有後續的動作。

這有點像 Firewall (防火牆) 的工作內容,可以把 IIS 當成進行我們程式前的 Firewall,讓我們的程式可以在更安全的環境下運作。
  • 要求篩選
    【副檔名】:以副檔名進行篩選,什麼可執行,什麼不可執行。
    【規則】:進行Scan URL及Query String來進行規則設定。
    【隱藏區段】:什麼檔案或目錄是不可見的,例如,web.config。
    【URL】:進行URL的 Allow / Deny 的設定。
    【HTTP 指令動詞】:進行 HTTP 指令動詞的 Allow / Deny 設定。
    【標頭】:可新增標頭及大小設定。
    查詢字串】:設定 Allow / Deny 的 Query String 裡的字串,例如,影片中提到的「..」或SQL Injection常用「'」。

    最後一個【查詢字串】我認為是很棒的內容,我們可以整理出透過Query String來攻擊的字串資料,然後加入此【查詢字串】裡的 Deny 清單內,這樣可以預防或減低程式上的不完美,例如,一些 Novice Programmer 就是喜歡用「接字串」來組SQL,所帶來的攻擊風險。
  • IP 位址及網域限制
    只有要【資料庫】的網站,應該都有一個管理後台,此管理後台就非常合適在此處進行設定,只限定特定 IP 位址或網域來存取。當然,私有不對外公開的網站,也適合在此處進行設定。
  • Dynamic IP  Restriction
    此擴充可防止被 DoS 或暴力攻擊。透過限制單一 IP 【最大同時連線數】與【一段時間內的最大連線次數】來預防被攻擊。

IIS 7.5 系列教學影片(5) 筆記

這部分討效能,我們要如何增加網站的執行效能。

另外,此篇也討論如何找出瓶頸,以下面兩個方向來找:
  1. 找出前 N 筆速度最慢的網頁
  2. 找出前 N 筆最常被讀取的網頁
找出後,列為最優先處理的項目,應該就可以提升不少效能。

IIS 7.5 學習心得

看完此教學後,自己有點汗顏,原來 IIS 7.5 有那麼多功能,重點是【實用】。有空的人可以再往下去深入研究,文章中我都有幫各位找好相關連結。我自己看完後,我非常建議當成所有 Developer 基礎教材,PowerPoint 可以免費下載,教學上只需要花些時間看看及開打 IIS 及 Web PI (安裝必須組件或設定) 玩玩即可。

沒有留言:

張貼留言

感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。