跳到主要内容

IIS配置

1. ASP程式“請求的資源在使用中”的問題解決方法

  • 症狀舉例:

windows2003 IIS6執行訪問asp頁面的時候提示:“ http 500 – 內部伺服器錯誤”。

  • 原因分析:

asp程式不能瀏覽,但html靜態網頁不受影響。將IE改為不顯示友好錯誤時出現具體報錯:“請求的資源在使用中”。

  • 解決方法:

開始 -執行 -cmd,執行以下指令:

regsvr32 jscript.dll (命令功能:修復Java動態連結庫)

regsvr32 vbscript.dll (命令功能:修復VB動態連結庫)

2. MIME設定問題導致某些型別檔案無法下載

  • 症狀舉例:

HTTP 錯誤 404 - 檔案或目錄未找到。

  • 原因分析:

IIS6.0取消了對某些MIME型別的支援,例如ISO,致使客戶端下載出錯。

  • 解決方法:

在IIS中“屬性” -> “HTTP頭” -> “MIME型別” -> “新建”,在隨後的對話方塊中,副檔名填入.ISO,MIME型別是 application

然後重啟IIS即可。

另外,防火牆阻止,ODBC配置錯誤,Web伺服器效能限制,執行緒限制等因素也是造成IIS伺服器無法訪問的可能原因,這裡就不再一一饋述了。

3. IWAM賬號不同步

  • 症狀舉例:

HTTP 500 - 內部伺服器錯誤

  • 原因分析:

IWAM賬號是安裝IIS時系統自動建立的一個內建賬號。IWAM賬號建立後被Active Directory、IIS metabase資料庫和COM+應用程式三方共同使用,賬號密碼被三方分別儲存,並由作業系統負責這三方儲存的IWAM密碼的同步工作。系統對IWAM賬號的密碼同步工作有時會失效,導致IWAM賬號所用密碼不統一。

  • 解決辦法:

如果存在AD,選擇開始 ->程式 ->管理工具 ->Active Directory使用者和計算機, 為IWAM賬號設定密碼。

執行c:\Inetpub\AdminScripts>adsutil SET w3svc/WAMUserPass + 密碼, 同步IIS metabase資料庫密碼

執行 cscript c:\inetpub\adminscripts\synciwam.vbs -v, 同步IWAM賬號在COM+應用程式中的密碼

4. NTFS許可權設定不當

  • 症狀舉例:

HTTP 錯誤 401.3 - 未經授權:訪問由於 ACL對所請求資源的設定被拒絕。

  • 原因分析:

Web客戶端的使用者隸屬於user組,如果該檔案的NTFS許可權不足(例如沒有讀許可權),則會導致頁面無法訪問。

  • 解決辦法:

進入該資料夾的安全選項卡,配置user的許可權,至少要給讀許可權。關於NTFS許可權設定這裡不再贅述。

5. IUSR賬號被禁用

  • 症狀舉例:

HTTP 錯誤 401.1 - 未經授權:訪問由於憑據無效被拒絕。

  • 原因分析:

由於使用者匿名訪問使用的賬號是IUSR_機器名陳,因此如果此賬號被禁用,將造成使用者無法訪問。

  • 解決辦法:

控制面板 ->管理工具 ->計算機管理 ->本地使用者和組 ,將IUSR_機器名鋮賬號啟用。

6. IP限制配置不當

  • 症狀舉例:

HTTP 錯誤 403.6 -禁止訪問:客戶端的 IP 地址被拒絕。

  • 原因分析:

IIS提供了IP限制的機制,你可以透過配置來限制某些IP不能訪問站點,或者限制僅僅只有某些IP可以訪問站點,而如果客戶端在被你阻止的IP範圍內,或者不在你允許的範圍內,則會出現錯誤提示。

  • 解決方法:

進入IIS的屬性 ->安全性 ->IP地址和域名限制, 如果要限制某些IP地址的訪問,需要選擇授權訪問,新增選擇不允許的IP地址;反之則可以只允許某些IP地址的訪問。

7. 身份認證配置不當

  • 症狀舉例:

HTTP 錯誤 401.2 - 未經授權:訪問由於伺服器配置被拒絕。

  • 原因分析:

IIS 支援以下幾種 Web 身份驗證方法:

(1)匿名身份驗證

IIS 建立 IUSR_計算機名稱帳戶(其中計算機名稱是正在執行 IIS 的伺服器的名稱),用來在匿名使用者請求 Web 內容時對他們進行身份驗證。此帳戶授予使用者本地登入許可權,你可以將匿名使用者訪問重置為使用任何有效的 Windows 帳戶。

(2)基本身份驗證

使用基本身份驗證可限制對 NTFS 格式 Web 伺服器上的檔案的訪問。使用基本身份驗證,使用者必須輸入憑據,而且訪問是基於使用者ID 的,使用者 ID 和密碼都以明文形式在網路間進行傳送。

(3)Windows 整合身份驗證

Windows 整合身份驗證比基本身份驗證安全,而且在使用者具有 Windows 域帳戶的內部網環境中能很好地發揮作用。在整合的Windows 身份驗證中,瀏覽器嘗試使用當前使用者在域登入過程中使用的憑據,如果嘗試失敗,就會提示該使用者輸入使用者名稱和密碼。如果你使用整合的 Windows 身份驗證,則使用者的密碼將不傳送到伺服器。如果該使用者作為域使用者登入到本地計算機,則在訪問此域中的網路計算機時不必再次進行身份驗證。

(4)摘要身份驗證

摘要身份驗證克服了基本身份驗證的許多缺點。在使用摘要身份驗證時,密碼不是以明文形式傳送的。另外,可以透過代理伺服器使用摘要身份驗證。摘要身份驗證使用一種挑戰/響應機制(整合 Windows 身份驗證使用的機制),密碼是以加密形式傳送的。

(5).NET Passport 身份驗證

Microsoft .NET Passport 是一項使用者身份驗證服務,它允許單一簽入安全性,可使使用者在訪問啟用了.NET Passport 的 Web 站點和服務時更加安全。啟用了.NET Passport 的站點會依靠 .NET Passport 中央伺服器來對使用者進行身份驗證。但是,該中心伺服器不會授權或拒絕特定使用者訪問各個啟用了.NET Passport 的站點。

  • 解決方法:

根據需要配置不同的身份認證(一般為匿名身份認證,這是大多數站點使用的認證方法)。認證選項在IIS的屬性 ->安全性 ->身份驗證和訪問控制下配置。

8. 未啟用父路徑

  • 症狀舉例:

Server.MapPath() 錯誤 ASP 0175 :80004005

不允許的 Path 字元

/0709/dqyllhsub/news/OpenDatabase.asp,行 4

在 MapPath 的 Path 引數中不允許字元 ..。

  • 原因分析:

許多Web頁面裡要用到諸如../格式的語句(即回到上一層的頁面,也就是父路徑),而IIS6.0出於安全考慮,這一選項預設是關閉的。

  • 解決方法:

在IIS中屬性 ->主目錄 ->配置 ->選項中, 把 “啟用父路徑”前面打上勾, 確認 重新整理。