IIS 7.0是Windows Server 2008在Web服務方面所提供的一個ASP .NET、Windows Communication Foundation(WCF)、Windows Workflow Foundation(WWF)、Windows SharePoint Services 3.0的單一網站發佈平台,並且提供了全新設計的管理介面以及委派管理等各項強化的安全性設計。
全新的IIS網頁伺服器7.0在全面改版設計上,無論從部署、管理、安全性設計到效能最佳化運作,都有著超越以往所有版本的絕佳改良設計,並新增許多新功能,以下分類說明幾項最具關鍵的新功能:
●模組化架構:這是IIS前所未有的新架構設計,因為它將整個網頁伺服器(IIS)拆解成40項模組,讓專業的IT人員在部署時可以根據實際網站設計上的運作需求,只挑選出所需的模組,如此一來不僅可以減少可能的攻擊面,同時也能縮短系統更新時所需下載更新的時間。
●提供更廣泛的延伸API可以使用:全新的IIS 7提供了更具彈性和延伸的架構,讓研發人員能夠有更多更快速的方式來規劃客製化網站的需求。在核心的IIS 7網站中提供了全新的公用網站伺服器的API子集合,讓研發人員可以呼叫、擴充、取代或新增功能至網站中,而這些APIs可以使用Win32 APIs與受管理的.NET Framework APIs。同樣的,研發人員也可以善用IIS 7可延伸性的優點、事件記錄功能、組態以及管理工具的特色,讓客戶在設計整合產品解決方案時能夠更順手。
●一致性可分散式組態設定模組:全新設計的豐富管理介面,讓系統管理人員可以更簡易與更有效率地部署與管理IIS 7伺服器之下每一個網站的運作。其中IIS 7提供了研發人員與管理人員能夠使用單一的XML格式的設定檔來儲存所有IIS網站與APS.NET的一致性設定,這包括了整個網站平台中的受管理程式碼設定以及所撰寫的APIs。這新的組態系統支援分散式組態檔案,讓具有同樣需求的大量網站可以快速配置相同的組態設定。
●提供更高效率的管理模組:IIS 7提供了更細微的控管介面來大幅簡化IT人員日常維護管理時的複雜度,其中包括全新的圖型管理介面、命令介面工具、全新受管理的APIs以及WMI(Windows Management Instrumentation),來因應各項自動化作業的管理需求,所有新的管理特色都結合了IIS與ASP.NET設定,提供一致性的管理機制。除此之外,也可以進行成員使用者、角色資料以及即時診斷資訊的管理功能,而在委派授權管理部分,也允許特定的系統使用者或研發人員連線管理特定的網站,這樣的控管機制將可以減輕管理人員的負擔,並且可以透過採用HTTP的連線方式來穿越防火牆進行管理,適用於專注與共用的託管環境中。
●提供功能更卓越的診斷能力:IIS 7讓研發人員和系統管理人員擁有更多簡易的故障排除方法,來降低網站與應用程式發生服務停擺的機會,而這個方法便是透過由IIS 7所提供給系統管理員的即時診斷資訊來進行,例如可以得知哪些連線要求目前正在執行中、哪些連線要求已經執行了多久時間、哪些網址正被要求連線中、目前用戶端的連線狀態等等。此外,IIS 7同樣會針對連線失敗的要求,自動記錄詳細追蹤的事件,而這些診斷功能同樣可以進行延伸,因此自訂的新診斷記錄也可以加入自訂模組之中。
總結來說,全新改造設計的IIS 7.0可以協助解決以下幾個重點:
1.大幅簡化網站的管理、部署以及Web應用程式的開發。
2.藉由更有效率的Web基礎架構管理,以降低管理成本。
3.透過更細微的所需元件配置,大幅減少攻擊面以及減少補強更新的頻率。
4.建置強而有力的Web應用程式,並且快速延伸其基礎架構。
5.藉由快速解決失敗的應用程式機制,減少停機的機會。
接下來,就讓我們一同來學習筆者最新整理出來的IIS 7.0十大管理秘訣。
TOP1 在Windows Server 2008下安裝IIS 7.0
Q:IIS 7.0是Windows Server 2008全新的伺服器之一,但是在系統預設的狀態下並不會事先安裝,可否說明一下整個IIS 7.0的安裝與設定步驟,以及在Server Core環境下如何安裝IIS 7.0?
A:如同新增其他伺服器角色,從「伺服器管理員」介面中的「角色」節點項目上點選「新增角色」,即可開啟「選取伺服器角色」頁面。請勾選「網頁伺服器(IIS)」元件,之後將會出現「新增角色精靈」頁面。出現這個新增角色精靈視窗的原因主要是,安裝IIS網站時必須安裝其他相依的元件,接著點選「新增所需的功能」。
接下來會出現網頁伺服器IIS的相關簡介,其中會提到可以透過Windows系統資源管理員來控管不同伺服器角色在相同電腦上對於資源的使用配置,這些工具也是Windows Server 2008內建的功能之一,只是預設不會安裝這個功能。若有需要,可透過「功能」頁面管理中的新增功能連結來安裝。
然後,如下頁圖示進入「選取角色服務」頁面中。在此預設安裝設定中,僅會安裝與靜態網頁相關的處理元件,若有執行其他如ASP.NET或ASP相關的應用程式的需求,請自行勾選其他相關的元件,然後按下〔下一步〕繼續。選擇好所要安裝的網頁伺服器服務的角色元件,接下來在「確認安裝選項」頁面中就可以看到之前所勾選安裝的元件清單,確認無誤之後按下〔安裝〕即可。完成安裝之後,就可以從【開始】→【系統管理工具】選單中開啟IIS 7.0的全新管理員介面。
|
▲選取所要安裝的IIS角色元件 |
TOP2 IIS 7.0中應用程式 集區的管理技巧
Q:打從IIS 6.0開始就有所謂的應用程式集區,可否先說明一下它的用途?並解釋一下在最新Windows Server 2008下的IIS 7.0管理中,該如何正確地管理應用程式集區的設定?
A:有關應用程式集區的配置用途,主要是要讓多個相同類型的網站應用程式可以配置相同的應用程式運作時的組態設定,而每一個集區的工作執行都會執行單獨的w3wp.exe來處理,其主要目的是讓它們採用一致化的資源配置、工作行程回收規則、健康診斷、存取保護機制等等。
就以資源的配置來說,網管人員可以設定它所能使用的CPU、實體記憶體以及虛擬記憶體的資源有多少。此外,也因為有各自的執行序在處理不同網站工作的執行,因此可以有效防範單一執行序的失敗而造成整個IIS網站運作中斷的問題發生。
在IIS 7.0管理介面中,可以點選至「應用程式集區」節點項目上,如下圖所示看到目前可用的集區有哪些,這些集區的組態設定可以同時讓多個Web站台進行對應,而不同的設定內容會左右網站的運作效能。
|
▲應用程式集區管理 |
基本上,只要在後續建立新網站時再新增設定應用程式集區即可,不過如果需要建立多個不同用途的網站應用程式,只要預先在此頁面中點選「動作」窗格中的「新增應用程式集區」連結,再新增設定不同網站應用程式所需的應用程式集區即可。
TOP3 在IIS 7.0下建立自行撰寫的網站應用程式
Q:當我安裝好Windows Server 2008下的IIS 7.0伺服器角色之後,接下來該如何在這個管理介面中建置自己預先設計好的網站應用程式呢?
A:想要新增一個網站來存放自己寫好的網頁程式並不難。先在管理介面中點選「站台」項目節點,然後按下滑鼠右鍵並點選【新增網站】,接著會開啟如下圖所示的「新增網站」設定頁面。在此,必須先設定「站台名稱」(輸入中文或英文都可以),在應用程式集區指定部分,系統預設會以這個站台的命名建立一個新的應用程式集區,也可以自行按下〔選取〕按鈕來挑選其他現有的設定項目。接著點選「實體路徑」中的〔…〕按鈕,選取所對應的網頁程式實體資料夾儲存路徑,如果目前的使用者並沒有存取所指定資料夾路徑的權限,請按下〔連線身分〕來指定。
在「繫結」設定部分,可以設定連線的「類型」(HTTP或HTTPS),指定「IP位址」與「連接埠」。也可以與DNS記錄搭配來設定「主機名稱」(一般都保留空白)。如果目前所指定的IP位址連接埠已經被其他網站占用,則必須設定不同的連接埠,否則會發生站台服務無法啟動的情形。
|
圖3 新增網站設定 |
完成上述的設定之後,可以按下〔測試設定〕按鈕來驗證一下所設定的新網站是否能夠被正常連線存取。執行後會開啟「測試連線」頁面,如果所出現的IIS管理員無法驗證內建帳戶是否擁有存取權的警告訊息,可以加以忽略。剛新增好的網站,預設是處於尚未啟動的狀態,可以透過點選「動作」窗格中的「啟動」連結來啟動此網站的執行。
TOP4 在IIS 7.0管理網站連線的授權
Q:公司內目前有一些準備提供給員工來連線存取的網站,打算建置在Windows Server 2008的IIS 7.0伺服器之下,並且要求根據不同的網域使用者帳戶的連線來控管呈現內容,請問在連線驗證的控管上該如何設定IIS 7.0才能夠整合現有的網域環境?
A:先在該網站節點項目的功能頁面中連續點選「授權規則」連結,緊接著可以看到在預設的狀態下有一條授權規則項目,其設定內容是允許所有使用者連線。可以依照實際的需求來修改此設定值。在選取預設項目之後,隨即點選「編輯」連結繼續。
接著會開啟如下圖所示的「編輯允許授權規則」頁面,依需求將它修改為指定的角色或使用者群組,或是只讓特定的使用者連線等等。完成設定之後,按下〔確定〕繼續。
|
▲編輯允許授權規則 |
由於在預設的狀態下,網站的連線是允許匿名的使用者來連線,因此之前所做的授權規則如果就這麼直接套用了,那麼網站的連線將會出現驗證錯誤訊息。有鑑於此,必須變更這個網站的相關驗證方法。先在此頁面中按下〔驗證〕,以便繼續下一步的設定。
在預設狀態下,除了「匿名驗證」是設定為「已啟用」之外,其他所有相關的驗證方法預設都設定成「已停用」。請選取「Windows驗證」項目,再點選「動作」窗格中的「啟用」連結。
最後開啟IE瀏覽器連線到這個網站,查看是否會出現輸入驗證資訊的對話方塊。如果出現驗證輸入視窗,輸入所授權的使用者或群組的成員,就可以瀏覽網站的首頁。相對地,若輸入錯誤的帳戶資訊,將會出現驗證方面的錯誤訊息。
TOP5 在IIS7.0 進行伺服器 管理員的配置
Q:在我們公司的Active Directory網路中有好幾台IIS 7.0伺服器,但是所建置的網站類型與服務的對象都不相同,我想讓不同的管理員來控管不同的IIS 7.0伺服器,該怎麼設定呢?
A:IIS網站的管理除了可以針對連線網站的使用者進行授權管理之外,管理伺服器時也可以設定允許進行連線管理的使用者清單。在預設的狀態下,由於採用的是Windows帳戶的驗證方式,因此只要是登入網域的系統管理員都可以連線管理,不過這項限制也可以自行修改。
先點選「IIS管理員使用者」圖示,接著在「IIS管理員使用者」介面中新增自訂的IIS連線管理員的帳戶密碼(非Windows帳戶)。在此頁面中點選「新增使用者」連結,接著會開啟「新增使用者」頁面,完成使用者名稱與輸入密碼後按下〔確定〕即可。下圖所示便是筆者自行設定的兩筆新IIS管理員帳戶。
|
▲完成IIS管理員使用者設定 |
請注意!在此頁面右上角的警告訊息提示目前伺服器已設定成只允許擁有Windows認證的帳戶才能連線,也就是說,這兩筆自訂的非Windows帳戶的IIS管理員新增設定目前還無法使用,那該怎麼辦?
要解決上述的問題,只要點選開啟同樣位在伺服器節點頁面中的「管理服務」圖示。在預設的狀態下,此管理服務是處於啟動的狀態,並且設定為「僅適用Windows認證」,若要變更此設定值,先在「動作」窗格中點選〔停止〕,停止服務之後,勾選「啟用遠端連線」,並且將識別認證修改為「Windows認證或IIS管理員認證」,接著按下〔啟動〕服務。執行啟動時,可能會出現要求儲存服務變更設定的對話方塊,按下〔是〕即可。此外,如果只想讓特定用戶端電腦來連線管理,只要進一步在IPv4位址限制中進行設定即可。
TOP6 IIS 7.0中個別網站的管理員配置
Q:當一部專屬的網頁伺服器(IIS)主機上建置了許多不同用途的網站時,這些網站的管理員可能也會不一樣,可否說明如何將這些特定站台的連線管理授權給各自不同的使用者?
A:先在「站台」節點下點選至所要管理的網站,然後在頁面中點選「IIS管理員權限」,之後會發現在預設狀態下其中並沒有任何預設項目的設定。儘管如此,預設的系統管理員Administrator仍然可以進行連線管理。如果只要讓特定的使用者可以連線管理,請在「動作」窗格中點選「允許使用者」連結。隨後會開啟「允許使用者」設定頁面,可以選取使用者類型(Windows使用者或IIS 7.0使用者),然後按下各自的〔選取〕按鈕來挑選所要加入的現有使用者。
|
▲完成使用者站台授權管理設定 |
上圖所示便是筆者自行加入的兩位允許的使用者,一位是現有的Windows帳戶,另一位則是在前面步驟中預先建立好的IIS使用者。目前這兩名使用者可以從其他電腦的IIS管理介面來連線管理這個指定授權的網站。
TOP7 使用APPCMD命令工具來管理IIS 7.0網站
Q:聽說Windows Server 2008所提供的IIS 7網站伺服器角色的管理方法中,除了可以透過圖形介面和Windows PowerShell來控管各項組態之外,還可以透過一個內建的APPCMD命令進行管理,可否講解一下這個APPCMD命令工具?
A:想要使用APPCMD命令時,先開啟命令提示字元,然後切換到預設的「C:\Windows\System32\Inetsrv」路徑下,直接輸入APPCMD命令先來查看此命令所支援管理的物件類型有哪些。
舉例來說,如果想知道站台管理命令的下達方式,輸入「appcmd site /?」命令就可以看到關於站台的管理命令參數,包括list(列出虛擬站台)、set(設定虛擬站台)、add(新增虛擬站台)、delete(刪除虛擬站台)、start(啟動虛擬站台)和stop(停止虛擬站台)。如果想要查詢新增站台的用法,只要輸入「appcmd add site /?」命令就可以了。
|
▲新增網站 |
接下來就以新增一個站台的命令為例進行示範,如上圖所示下達「appcmd add site /name: "高傑信網站" /id:2 /bingings:http/*:81: /physicalPath: "E:\Cogate\Web"」,執行這個命令參數可以建立一個取名為高傑信網站的新站台,而使用的連線方式為HTTP,通訊埠編號是81,而實體網站程式的儲存路徑在「E:\Cogate\Web」。至於id參數,必須輸入一個目前尚未存在的唯一識別碼。
如果想要知道目前在這部電腦的IIS伺服器上有多少個網站,只要輸入「appcmd list site」命令就可以看到包括前面範例中所建立的所有網站清單,其中會列出它們各自的基本組態設定,以及是否正在執行中。
TOP8 IIS 7.0網站內容壓縮的管理技巧
Q:聽說管理IIS 7.0網站時可以依據不同的網站類型使用網站內容的壓縮功能,以達到使用者連線存取時的效能最佳化,請問這項功能如何設定呢?
A:在目前網站建置的類型中,大致可以區分為靜態網站和動態網站,前者只是單純的HTML網頁內容,而後者則結合後端資料庫,可依照每位連線使用者的需求自動呈現不同的網頁內容。
然而,無論所建立的網站類型為何,在IIS 7的伺服器管理中都可以針對這兩種類型的網站內容進行壓縮處理,以獲得更好的傳輸執行效能。IIS 7網站內容的壓縮設定可以透過圖形管理介面或是APPCMD來進行。首先是圖形管理介面的操作,只要點選伺服器項目節點頁面中的「壓縮」圖示,即可開啟如下圖所示的頁面來決定是否要啟用針對動態內容與靜態內容的壓縮處理,並且可以進一步設定壓縮大小和快取目錄。
|
▲網站內容壓縮設定 |
如果是透過APPCMD來管理內容壓縮的功能,以啟動預設未啟用的動態內容壓縮設定為例,輸入「appcmd set config /sction:urlCompression /doDymamicCompression:True」即可啟用動態內容的設定。若要關閉此功能,只要將「/doDymamicCompression」參數值修改為「False」就可以。
TOP9 在Windows Server 2008主機中安裝SharePoint 3.0
Q:據了解,目前Windows Server 2008已經內建Windows SharePoint Services 3.0的網站功能。但初次安裝好Windows Server 2008之後,該如何安裝與設定這一項功能呢?
A:Windows SharePoint Services 3.0(WSS 3.0)是Microsoft在SharePoint產品中最新的免費版本(必須有Windows Server的合法授權),而前一個版本Windows Server 2003必須額外下載安裝,並且當時是與內建的IIS 6.0整合在一起。Windows Server 2008內建一個Windows SharePoint Services伺服器角色,並且架構在最新改裝設計的IIS 7.0網站服務基礎上,接下來瞭解一下這個角色的安裝設定說明。
在預設自動開啟的初始設定工作頁面中點選「新增角色」連結,否則必須到系統管理工具選單中點選「伺服器管理員」介面來新增角色。接著在「選取伺服器角色」頁面中勾選「Windows SharePoint Services」項目,由於Windows SharePoint Services角色是架構在IIS網站之上,因此勾選此角色項目時,會出現新增角色精靈的視窗。接著,按下〔新增所需的角色服務〕按鈕。
|
▲設定WSS 3.0安裝類型 |
接下來在「選取設定類型」頁面中如左下圖所示選擇「只安裝在這部伺服器上」或「安裝成伺服器陣列的一部分」。前者適用在單一WSS前端網站的部署,並且直接使用Windows Server 2008內建的SQL Server 2005;後者則可以與現有網域中的其他SQL Server 2000 SP4或SQL Server 2005伺服器進行連接,來架構出擁有前後端的Windows SharePoint Services網站,這樣不僅網站整體的運作效能會更好,還能夠進一步結合Windows Server 2008內建的網路負載平衡(NLB)功能,達成分散前端網站流量與高可用性的絕佳規劃。
此處以選擇「只安裝在這部伺服器上」項目為例進行操作示範。接著必須設定WSS 3.0管理網站的語言,本例選擇「中文(繁體)」。然後在「指定電子郵件設定」頁面中設定公司電子郵件的連線IP位址或FQDN,以及寄件者電子郵件地址與當使用者回覆時的電子郵件地址。
如果目前的網路內有Exchange Server,請將它的電腦名稱輸入在「輸出SMTP伺服器」即可,然後連續按幾下〔下一步〕即可完成安裝。
安裝好Windows SharePoint Services網站之後,接著嘗試連線到預設的WSS 3.0網站,先開啟IE瀏覽器,然後在「網址」列輸入「http://本機電腦名稱」即可。至於Windows SharePoint Services 3.0網站的管理中心部分,可以從「系統管理工具」選單中點選開啟。
TOP10 在IIS 7.0下建置具備SSL安全連線的網站
Q:在預設的狀態下,所建立的網站只能接受HTTP的連線方式,為了讓某些公司自行研發的入口網站在連線存取時更安全,如何才能夠強制這些網站使用HTTPS方式進行連線呢?
A:先開啟IIS的管理員介面,並點選至目前伺服器項目節點,然後在功能檢視頁面中連續點選「伺服器憑證」圖示,接著在「動作」窗格中點選「建立網域憑證」連結。接下來會開啟「分辨名稱屬性」頁面,這裡必須輸入申請憑證安裝前的相關資訊。之後在「線上憑證授權單位」頁面中按下〔選取〕按鈕,選擇目前可用的憑證授權單位伺服器,接著輸入一個方便識別的憑證名稱。完成憑證申請之後,緊接著針對個別的網站來設定相關的SSL組態。在要設定SSL的現有網站項目節點上點選「動作」窗格中的「繫結」超連結,然後會切換到「站台繫結」頁面中,在預設的狀態下,任何網站都只會使用HTTP的連線類型,所以請按下〔新增〕按鈕。
緊接著,如下圖所示在「新增站台繫結」頁面中點選「類型」下拉選單中的【https】,而「IP位址」可以依需要選擇特定的IP位址或是採用預設的「全部未指派」。SSL憑證部分則可以從下拉選單中選取之前所申請的憑證,若需要查看所選取的憑證內容則按下〔檢視〕按鈕。
|
▲設定連線類型與憑證對應 |
至於如何強制這個網站一定得使用HTTPS的方式來連線呢?請先回到該站台的「功能檢視」頁面,然後連線點選「SSL設定」圖示,之後便會開啟「SSL設定」頁面,勾選其中的「需要SSL」設定,這樣一來所有使用者就會被強迫採用HTTPS安全連線方式。