win2003服務器.NET+IIS環(huán)境常見問題排障總結(jié)
你是否經(jīng)常會遇到以下的攔路虎,當你興致勃勃地把調(diào)試好的程序發(fā)布到WEB服務器時,以下錯誤就出現(xiàn)了:
1、無法找到文件(404)白底黑字
2、沒有權(quán)限訪問該文件(403)白底黑字
3、直接彈出來一個要輸入帳號密碼的框框,然后你對著屏幕說:什么密碼。
4、黃底黑字+紅字的錯誤提示頁(.Net)
5...
這些東東幾乎占據(jù)了.Net+IIS搭建環(huán)境的絕大部分錯誤。
有時我們無意中覆蓋一個“不起眼”的文件,上述錯誤就會蹦出來。碰巧該應用又是非常重要的應用,這足夠讓你接下來的一個小時冒冷汗。
不過光冒冷汗沒用,引用一句話:錯誤不被你解決,你就有可能被錯誤解決。我們還是淡定下來解除這些錯誤吧。我們一項項的來:
1、無法找到文件(404)白底黑字
有以下這些可能性:
第一,你所訪問的路徑確實沒有這個文件,或許你記錯了位置,但它的確不存這個文件。解決辦法:找到這個文件,去IIS所指向的目錄中一層層找這個文件,并確認它存在。
第二,你的IIS沒有認出來這個文件,沒有該文件的解釋器(IIS網(wǎng)站屬性——主目錄——配置——應用程序擴展)。IIS沒有該程序的解釋器,然后撒一個謊說沒有這個文件。解決方法:打開(IIS網(wǎng)站屬性——主目錄——配置——應用程序擴展),添加應用程序的相關(guān)解釋器。
第三,你有某個UrlRewrite在起作用,將你輸入的URL給重定向到一個不存在的文件或目錄。
。。。
2、沒有權(quán)限訪問該文件(403)白底黑字
有以下這些可能性:
你的NTFS文件夾沒有給予WEB用戶讀取的權(quán)限。解決方法:打開計算機管理——本地用戶和組——用戶——添加用戶,在這里添加一個用戶,請記住該用戶不要屬于任何組,如下圖所示:
添加新的用戶時,密碼先用記事本打出來,添加完成后,記事本不要關(guān)閉,這個密碼在IIS里配置時還需要用到一次.
用戶不需要屬于任何組,不繼承任何權(quán)限.
之后,我們開始給WEB文件夾賦予權(quán)限了.順便提一下,給WEB文件夾配置權(quán)限這個步驟很重要,見過很多站點被黑都是因為文件夾權(quán)限設置不當,要么過大,要么根本沒有一站一用戶,有些站點直接給EveryOne用戶最大權(quán)限,甚至有些站長認為NTFS磁盤格式"根本沒用",直接把網(wǎng)站所在的磁盤做成 FAT32的,還有很多的虛擬主機商為了圖省事,雖然做到了一站一戶(軟件生成),但是配置的權(quán)限過高,因為配置低權(quán)限有時候會出現(xiàn)運行故障....后果可想而知.我們遇到問題不要慌,特別是安全的問題.
配置文件夾權(quán)限的操作方式是:在WEB文件夾上點右鍵,選擇屬性——安全;
為了安全,我們要保證網(wǎng)站文件夾的初始權(quán)限狀態(tài)是這樣的:
為防止逐步提權(quán)。網(wǎng)站所在磁盤及該磁盤中所有下屬文件夾,除了你用于遠程登錄的最高管理員,其它的統(tǒng)統(tǒng)去掉。
我們要向該文件夾添加2個用戶權(quán)限:一個是剛剛添加的用戶,用于WEB訪問該文件夾,一個是系統(tǒng)內(nèi)置用戶Network Service,用于.net組件在本機運行時訪問。
給文件夾添加用戶的方法之一是單擊“添加”——“高級”——“立即查找”,從結(jié)果列表中選擇目標用戶。
添加這些用戶進入列表之后,還不算完,點擊“高級”,然后選擇某個用戶,點擊“編輯”,給這個用戶分配權(quán)限,要說的東西限于篇幅,在這里我只給2點參考意見:
(1)WEB文件夾的權(quán)限再大也不能大過這個底線:如下圖所示:
請記住,“完全控制”,“遍歷文件夾/運行文件”,“更改權(quán)限”,“取得所有權(quán)”這四個權(quán)限絕不能賦給WEB用戶。
(2)請根據(jù)需要給子文件夾配置各種不同的權(quán)限。例如:給用于上傳文件的文件夾寫入、刪除等一系列權(quán)限,但為防止用戶通過程序本身的上傳機制上傳木馬,則應該在IIS中配置該文件夾執(zhí)行權(quán)限為“無”:
程序中合法上傳文件的文件夾請設置執(zhí)行權(quán)限為“無”
3、直接彈出來一個要輸入帳號密碼的框框
這個問題其實很簡單,第二點中就有介紹,因為我們把WEB文件夾的權(quán)限給了自定義的用戶,從而導致IIS的默認用戶失去了該權(quán)限,我們打開IIS,在目標網(wǎng)站上點擊右鍵——屬性——目錄安全性——身份驗證和訪問控制欄點“編輯”,出來如下對話框:
IIS有默認的用戶名設置,所以我們要重新配置。
點擊“瀏覽”,選擇我們在第二步中新建的WEB用戶,然后粘帖記事本中存放的密碼,點擊確定之后還要再粘帖一次,確定就可以了。
現(xiàn)在刷新頁面看看,應該可以正常瀏覽了。
4、黃底黑字+紅字的錯誤提示頁
.net的所有錯誤如果沒有被重定向到自定義頁,所有的程序級錯誤都是諸如黃底+黑字或紅字的錯誤信息,因為太常見,我就不截圖浪費資源了,在這里,我只講一下關(guān)于環(huán)境的,“Web應用程序當前不可用”,請打開IIS,有兩個地方要修改:
1、右鍵網(wǎng)站屬性,選擇Asp.Net選項卡,在版本里選擇正確的版本。
2、IIS主窗體左側(cè)的“WEB服務擴展”中,選擇相應的ASP.net擴展,并點擊“允許”。
因為時間關(guān)系,且這篇文章老被意外打斷,并且搜集證據(jù),居然花了四天時間,效率可見相當之低!
以上四點,只是本人干活多年遇到的.Net+IIS環(huán)境主要環(huán)境問題匯總。希望大家多補充,不當之處懇請批評指正。
出處http://www.cnblogs.com/CoreCaiNiao/archive/2011/08/01/2123991.html
相關(guān)文章
asp.net中url地址傳送中文參數(shù)時的兩種解決方案
前天遇到一個地址傳遞中文參數(shù)變?yōu)閬y碼的問題,同樣的兩個web Project,一個是vs2003,一個是vs2005,前者可以,后者就是不可以。2009-11-11asp.net中“從客戶端中檢測到有潛在危險的Request.Form值”錯誤的解決辦法
這篇文章主要介紹了asp.net中“從客戶端中檢測到有潛在危險的Request.Form值”錯誤的解決辦法,需要的朋友可以參考下2015-11-11.NET性能調(diào)優(yōu)之一:ANTS Performance Profiler的使用介紹
本系列文章主要會介紹一些.NET性能調(diào)優(yōu)的工具、Web性能優(yōu)化的規(guī)則(如YSlow)及方法等等內(nèi)容。成文前最不希望看到的就是園子里不間斷的“哪個語言好,哪個語言性能高”的爭論,不多說,真正的明白人都應該知道這樣的爭論有沒有意義,希望我們能從實際性能優(yōu)化的角度去討論問題2013-01-01ASP.NET中的DataGridView綁定數(shù)據(jù)和選中行刪除功能具體實例
廢話就不多說了,都說.NET是托控件的,我就托給你們看,這個博文主要講 DataGridView 的數(shù)據(jù)綁定,和選中行刪除功能2013-12-12