
IIS Management Remote Management: Server Management
IIS Specification 網路資訊服務簡介
IIS (Internet Information Server) 網路資訊服務管理,是伺服器對網站行為最重要的應用,IIS 的部署與測試,請參考統雄老師的 IIS介紹專文。
IIS 的各種圖示 icons
IIS 的各種檔案與工具,以圖示表現,早期版本有些很難懂,可參考以下說明與連結。
Globe in Hand - Web application in a separate web host deployable in a port (80
or some other).
Normal folder - this will be normal directory under the webroot that inherited
from parent web root.
Globe icon folder - this is a normal virtual directory link to path.
Gear on an axle (sprocket) folder - this indicate an application root, to create
this, go to property page, on the 'directory' or 'virtual directory' tab, click
the 'create' button at the 'application settings'
In IIS5.0, the application root, shows as a box icon.
IIS 錯誤:無法寫入設定檔
IIS 設定時,出現「錯誤:無法寫入設定檔」訊息,又是Windows 微軟天兵無法提供的明確訊息。
通常是系統碟、或資料碟空間不足,如果小於5%,就已運作不良,如果小於1%,就極可能出現此訊息。
解決系統度空間不足,除增加硬體外,最佳策略是刪除伺服器各 log 檔,這類無用檔案長期累積容量可觀!
虛擬目錄
虛擬目錄與Web共用(Web Sharing)
IIS 的虛擬目錄設定與檔案總管中的「Web 共用」設定效果相同。
在Windows Explorer視窗中開啟共用並使用 Universal Naming Convention (UNC) 語法:\\computername\sharename;在瀏覽器視窗開啟Web共用並使用下列 Hypertext Transfer Protocol (HTTP) 語法:http://computername/alias。
虛擬目錄會綁實體目錄
虛擬目錄會綁實體目錄,造成實體目錄無法變更,但 Windows 微軟天兵無法提供明確訊息。
譬如:
以 IIS 設定1虛擬目錄為:\Vi
而其實體目錄為:\Ph
當以檔案總管對\Ph 作變更,如更名時,會被禁止,但錯誤訊息卻是「資料夾內有檔案開啟」。
如果按照這個「錯誤的錯誤訊息」除錯,白忙還不能解決。
正確作法:先移除虛擬目,再變更實體目錄。
301 Redirect 網站目錄重新導向
301 redirect is the most efficient and Search Engine Friendly method for webpage redirection. It's not that hard to implement and it should preserve your search engine rankings for that particular page. If you have to change file names or move pages around, it's the safest option. The code "301" is interpreted as "moved permanently".
選擇欲重新導向的目錄或檔案
>IIS
>重新導向
>開啟
整個目錄重新導向設定
>輸入新目的地
新目的目錄結尾,不得加 / 號。如範例之 /sales
選「永久(301)」。
>套用
原始資料夾內,會出現一個 web.config 記錄導向設定結果。
MS 的中文一向很難懂,要小心。
如果是目錄轉目錄,以下 2 個選項,都不要選。
選項1:表示目錄轉單一檔案,如網站暫時關閉等。
選項2:不轉子目錄之檔案。
注意:如果實體目錄
\AB
重新導向為同一階層之實體目錄
\ABCD
必須同時新增虛擬目錄\AB,而其實體目錄為\ABCD,否則,有可能出錯。
Configure IIS Output Caching 瀏覽器快取設定
瀏覽器快取設定(Cache-Control)是告訴瀏覽器:如果使用者不是第一次造訪,伺服器檔案是否更新,如果沒有,瀏覽器可將儲存在使用者端、快取記憶體內的檔案直接顯示,可為他們節省下載時間。
可快取的資源包括:圖片檔案、JS 、 CSS 、及其他二進位物件檔案 (媒體檔案、PDF 等)。
一般而言,由於 HTML 不是靜態物件,所以預設不應視為可快取。
瀏覽器快取設定的 web.config
經由 IIS 設定瀏覽器快取後,會在該目錄中自動產生 web.config 檔案。
所以,如果是離線網站設計,也可以手動的文字 txt 編輯器-如筆記本 ,撰寫 web.config 檔案,上傳後由 IIS 執行。
web.config 檔案的副檔名為 .config ,實際上就是一種 .txt 檔案。
統雄老師以下將根據不同設定,提供瀏覽器快取設定的 web.config 的檔案範例。
強命令:Expires 和 max-age 標頭
強命令是指「最快」的意思,包括 Expires 和 max-age 兩個標頭,瀏覽器不會對伺服器發送任何 GET 要求,除非到期日或最長使用期限屆滿,或是使用者清除快取。
Expires 和 max-age 標頭的意義分別為:
瀏覽器快取 Expires:到期日設定
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseExpires" httpExpires="Sun,
31 Aug 2020 00:00:00
GMT" />
</staticContent>
</system.webServer>
</configuration>
這個範例是指在:格林威治時間、2020年8月31日、星期日、0時0分0秘,為到期日。
瀏覽器快取到期日/ RFC 標準期限
注意:這是教學範例。按照 RFC (Request For Comments,RFC)規定,設定不可超過未來 1 年。
Request For Comments,RFC 的直譯為徵求修正意見書,實則是來記錄網際網路規範、協定、過程等的標準檔案。
RFC始於1969年,由史蒂芬·克羅克用來記錄有關ARPANET開發的非正式文件,最終演變為由網際網路工程任務組(IETF)發行的一系列備忘錄。檔案收集了有關網際網路相關資訊,UNIX和網際網路社群的軟體檔案,以及對於網際網路新開發的協定及發展中所有的記錄,以編號排定。目前RFC檔案是由網際網路協會(ISOC)贊助發行。
瀏覽器快取 max-age:最長使用期限設定
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="360.00:00:00"
/>
</staticContent>
</system.webServer>
<system.webServer>
<directoryBrowse enabled="true" />
</system.webServer>
</configuration>
表示最長使用期限為360日,也不得超過365日。
瀏覽器快取到期日 建議期間
統雄老師根據各項實務需求,建議採用以下設定:
瀏覽器快取到期日,一般內容網站、文創網站設為至少 1
周。
相片、影片、媒體檔案…等,不易變動之物件,最好可設為長達 1 年。
電子商務網站之廣告、SEO小工具,第三方資源則應至少有一天的快取存留時間。
另外,Google 建議使用 Expires 而非 Cache-Control: max-age,因為前者的支援範圍更廣。
弱命令:Last-Modifed 和 ETag 標頭
弱命令是指「相對較慢」的意思,有些文獻稱為「網址指紋比對」,包括Last-Modifed 和 ETag 兩個標頭。如果網站管理員只知道「可能很快就會變更」,但不知道確切的時間,那麼可採「網址指紋比對」設定。
瀏覽器快取的網址指紋比對法
這兩個標頭可指示瀏覽器如何判定檔案異同,據此來提供快取檔案。
瀏覽器快取 Last-Modified:上次修改日期設定
瀏覽器快取 Last-Modified 標頭中指定的值,為上次修改日期,由瀏覽器比對,伺服器上的物件,和快取中的物件是否相同。
瀏覽器快取 ETag:物件屬性值設定
瀏覽器快取 ETag 標頭中指定的值,是物件屬性值設定,一般為檔案版本等。
瀏覽器快取方法的選擇
弱快取標頭,瀏覽器必須有判定是否要從快取擷取項目的時間。
強快取的延遲時間短,統雄老師建議優先使用。
以上4種,只要取其中一個標頭即可,指定2種以上方法,反而使瀏覽器產生多餘的行為。
IIS 預設文件
IIS 有「預設文件」設定項目,或可以在各目錄使用 web.config 檔案設定如下:
<defaultDocument>
<files>
<clear />
<add value="Default.htm" />
<add value="Default.asp" />
<add value="index.htm" />
<add value="Default.aspx"
/>
<add value="index.php" />
<add value="index.html" />
<add
value="default.html" />
</files>
</defaultDocument>




