掌握IIS排錯技巧 讓Web更好服務
1、客戶端的IP地址被拒絕
當IIS部署完成Web成功發布后卻被告知某些用戶無法訪問Web頁面,當他們訪問Web站點的時候,瀏覽器顯示錯誤頁,錯誤提示為“HTTP錯誤403.6-禁止訪問:客戶端的IP地址被拒絕”。
圖1
之所以會顯示上面的錯誤提示,這是由于IIS提供了IP限制的機制,你可以通過配置來限制某些IP不能訪問站點,或者限制僅僅只有某些IP可以訪問站點,而如果客戶端在被你阻止的IP范圍內,或者不在你允許的范圍內,則會出現錯誤提示。該功能可以可以加強Web的安全限制IP對Web的訪問,有時由于管理員的疏忽會將某些本來應該訪問的IP設置為禁止的話就會造成這樣的錯誤。
解決方法是:運行“IIS管理器”進入相應站點的屬性頁面,在“目錄安全性”選項卡頁面的“IP地址和域名限制”下點擊“編輯”進入“IP地址和域名限制”頁面,然后根據需要對IP進行授權。需要說明的是,如果要限制某些IP地址的訪問,需要選擇授權訪問,點添加選擇不允許的IP地址。反之則可以只允許某些IP地址的訪問。
圖2
2、訪問由于ACL對所請求資源的設置被拒絕
客戶端訪問web站點,顯示錯誤頁:您不具備查看該目錄或頁面的權限,因為訪問控制列表 (ACL) 對 Web 服務器上的該資源進行了配置。錯誤提示為“HTTP 錯誤 401.3 - 未經授權:訪問由于 ACL 對所請求資源的設置被拒絕!
圖3
這是對Web目錄的權限設置不當造成的,我們知道Web客戶端的用戶隸屬于user組。因此,如果在Web目錄的NTFS權限中沒有賦予users的讀取權限就會導致頁面無法訪問。
解決方法是:打開IIS管理器,找到Web目錄,右鍵“屬性”在“安全”選項卡下添加users組,然后賦予其“讀取和運行”、“列出文件夾目錄”及“讀取”權限。
圖4
3、不具備使用所提供的憑據查看該目錄或頁的權限
客戶端訪問Web站點,顯示錯誤頁:您不具備使用所提供的憑據查看該目錄或頁的權限。錯誤提示為:HTTP錯誤401.1-未經授權:訪問由于憑據無效被拒絕“HTTP錯誤401.1 - 未經授權:訪問由于憑據無效被拒絕。
圖5
我們知道客戶端訪問Web站點使用的是IUSR帳戶,該用戶用于匿名訪問,因此如果此賬號被禁用,將造成用戶無法訪問。
解決方法是:“開始→運行”輸入lusrmgr.msc打開“本地用戶和組”工具,然后雙擊“用戶”中的“IUSR_LW-SERVER”(LW-SERVER是服務器名稱,因機而異),取消對“帳戶已禁用”的勾選最后“確定”退出即可。
圖6
4、不允許的父路徑
客戶端訪問Web站點彈出錯誤頁,顯示類似“Active Server Pages 錯誤 'ASP 0131' 不允許的父路徑 /BBS/Admin/BbsFace.asp,行 1 包含文件 '../conn.asp' 不能用 '..' 表示父目錄”的錯誤提示。
圖7
如圖7所示,出現這樣的錯誤提示是因為在asp等動態Web頁面中需要調用諸如../格式的語句,即返回到上一層目錄,而IIS6.0出于安全性考慮默認是不允許這樣的。解決這一IIS錯誤的方法是:打開IIS管理器,找到Web目錄,右鍵“屬性”在“主目錄”選項卡下點擊“配置”打開“應用程序配置”窗口,單擊“選項”標簽,勾選“應用程序配置”下的“啟用父路徑”即可。
圖8
5、文件或目錄未找到
當客戶端訪問Asp動態Web站點時,提示“無法找到該頁”,IIS錯提示為“HTTP錯誤404-文件或目錄找到”。
圖9
如圖9所示,出現這樣的錯誤提示并不是因為Web站點的文件或者目錄不存在,而是IIS不能解析ASP所致。在IIS6.0中新增了Web程序擴展這一選擇,我們可以在其中對ASP、ASP.net、CGI、IDC等程序進行允許和禁止操作。在默認情況下“Active Server Pages”擴展是禁止的,因此會造成上面的IIS錯誤。解決的方法是:打開IIS管理器點擊左側的“Web 服務擴展”,然后選擇“Active Server Pages”允許即可。
圖10
6、內部服務錯誤
客戶端訪問Web站點提示“HTTP 500 - 內部服務器錯誤”,這樣的IIS錯誤提示不是很頻繁但排錯比較麻煩困擾了很多人。其原因是由IWAM帳號不同步造成的,IWAM賬號是安裝IIS時系統自動建立的一個內置賬號。IWAM賬號建立后被Active Directory、IIS metabase數據庫和COM+應用程序三方共同使用,賬號密碼被三方分別保存,并由操作系統負責這三方保存的IWAM密碼的同步工作。系統對IWAM賬號的密碼同步工作有時會失效,導致IWAM賬號所用密碼不統一。
圖11
解決辦法是:如果存在AD(活動目錄),選擇開始→程序→管理工具→Active Directory用戶和計算機為IWAM賬號設置密碼。然后打開命令提示符(cmd.exe)進入c:\Inetpub\Admins目錄然后執行命令:adsutil SET w3svc/WAMUserPass test (test為密碼,大家可以自行設置)。然后同步IIS metabase數據庫密碼同樣在命令行下運行synciwam.vbs -v 同步IWAM賬號在COM+應用程序中的密碼。
圖12
7、身份認證配置不當
訪問Web站點提示不具備使用所提供的憑據查看該目錄或頁的權限,錯誤標識為“HTTP 錯誤 401.1 - 未經授權:訪問由于憑據無效被拒絕”。
圖13
這一IIS故障是由身份驗證造成的。IIS支持多種Web身份驗證方法,有基本身份驗證、Windows 集成身份驗證、摘要身份驗證、.NET Pawwport身份驗證。這些驗證有不同安全級別適用于不同的安全需求,如果設置不當就會造成錯誤。一般為匿名身份認證,這是大多數站點使用的認證方法。
解決辦法是,打開IIS管理器,找到Web目錄,右鍵“屬性”打開站點屬性窗口,在“目錄安全性”標簽的“身份驗證和訪問控制”下點擊“編輯”打開“身份驗證方法”面板,然后根據安全需求選擇相應的驗證方法。如果是一般的站點我們就選擇“啟用匿名訪問”即可。
圖14
8、附件太大,無法上傳
讓在網站的后臺上傳文件文件,當超過200k的時候會無法上傳。這是因為在IIS6.0中,對文件的上傳進行了嚴格的限制,這樣這樣可以最大限度地減少因以前太寬松的超時和限制而造成的攻擊。數據庫屬性配置最大ASP大小為204,800 個字節,并將各個字段限制為100 KB。在IIS 6.0 之前的版本中,沒有限制。
這就造成了文件上傳不能超過200k,而事實上是提交數據不能超過200k,你可以發一個很長的帖子試試,也會出現這個錯誤。
解決方法是:首先“開始→運行”輸入services.msc打開服務管理器關閉“iis admin service”服務。接下來找到找到windows\system32\inesrv\下的metabase.xml用記事本打開,通過記事本的“編輯→查找”功能找到ASPMaxRequestEntityAllowed其默認值為204800,即200K,把他修改為需要的值,最后重新啟動“iis admin service”服務即可。
圖15
9、某些類型文件無法下載
客戶端無法下載Web站點中的某些類型的文件,錯誤提示為“HTTP 錯誤 404 - 文件或目錄未找到”。造成這一錯誤的原因是IIS6.0取消了對某些MIME類型的支持,例如ISO,致使客戶端下載出錯。(圖16)
圖15
解決辦法是:打開IIS管理器,找到Web目錄,右鍵“屬性”打開站點屬性窗口,在“HTTP頭”選項卡下點擊“MIME類型”按鈕然后“新建”添加相應的文件擴展名。
圖17
總結:由于IIS的復雜性及其特殊情況使得IIS錯誤相當多樣,本文不可能一一列舉。上面的列舉的9個排錯案例占了IIS錯誤的絕大多數,理解錯誤產生的原因并掌握排錯技巧就足能應對IIS故障。當然,對于此外的其它IIS錯誤,只要結合實踐深入探究就能夠找到排錯方法。
關鍵字:IIS、服務器、故障、Web平臺
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解