windows server下iis無(wú)法訪問(wèn)asp網(wǎng)頁(yè)

win2000下iis無(wú)法訪問(wèn)asp網(wǎng)頁(yè) 未能啟動(dòng) aspnet_wp.exe
今天維護(hù)一個(gè)windows2000的iis服務(wù)器,網(wǎng)頁(yè)無(wú)法訪問(wèn),系統(tǒng)應(yīng)用程序日志提示:
①、未能啟動(dòng) aspnet_wp.exe,原因是配置文件的 processModel 節(jié)中提供的用戶名和/或密碼無(wú)效。
②、未能啟動(dòng) aspnet_wp.exe。失敗的 HRESULT:80004005
找了很多原因,都說(shuō)是域服務(wù)器的donnet下的用戶權(quán)限配置問(wèn)題,引用詳見(jiàn)下面,但是我的服務(wù)器不在域環(huán)境中,納悶了很久。
引用:
************************************************************************************
Win2000域服務(wù)器 IIS 無(wú)法使用asp.net程序的解決方法
把一臺(tái)服務(wù)器升級(jí)為域控制器后,安裝了ASP.NET,配置完IIS后,發(fā)現(xiàn)無(wú)法運(yùn)行*.ASPX文件,每次運(yùn)行都告訴我服務(wù)器內(nèi)部錯(cuò)誤,同時(shí)會(huì)在系統(tǒng)應(yīng)用程序日志里加上以下2個(gè)錯(cuò)誤
未能啟動(dòng) aspnet_wp.exe,原因是配置文件的 processModel 節(jié)中提供的用戶名和/或密碼無(wú)效。
未能啟動(dòng) aspnet_wp.exe。失敗的 HRESULT:80004005
*.ASP文件運(yùn)行正常,請(qǐng)那位高手指點(diǎn)一下,到底是什么問(wèn)題?
解決的辦法有幾種,
其中最快但不安全的一種是:
更改machine.config文件,
它位于C:WINNTMicrosoft.NET Frameworkv1.0.3705(asp.net 1.0是這樣,如果你的版本是1.1的,文件夾名回不同)CONFIG,
將里面一個(gè)部件<processModel>中的 username的屬性設(shè)置為SYSTEM,正因?yàn)樗瓉?lái)默認(rèn)的設(shè)置為machine,
所以訪問(wèn)的asp.net的用戶名為aspnet,而這個(gè)帳號(hào)為本地帳號(hào),而我們登錄的帳號(hào)是域控制器的帳號(hào),不是本地機(jī)器的帳號(hào),
這樣導(dǎo)致aspnet_wp.exe找不到一個(gè)本地的localmachinename aspnet帳號(hào)而不能啟動(dòng).
這種方法我實(shí)驗(yàn)過(guò),驗(yàn)證上述情況.但它很不安全,但你發(fā)布asp.net網(wǎng)頁(yè)時(shí),瀏覽的用戶在你的域中是屬于system 屬性,
這樣會(huì)帶來(lái)安全隱患.最好的辦法就是,也是微軟推薦的.在你的域中添加一個(gè)aspnet帳號(hào),設(shè)置適當(dāng)?shù)臋?quán)限,而不去更改 machine.config文件.
解決方案
要解決此問(wèn)題,請(qǐng)使用下列方法之一:
?創(chuàng)建具有正確權(quán)限的弱帳戶,然后配置 Machine.config 文件的 <processModel> 部分以使用該帳戶。
?在 Machine.config 文件的 <processModel> 部分,將 userName 屬性設(shè)置為 SYSTEM。
?配置 Machine.config 文件的 <processModel> 部分以使用管理員帳戶。
注意:在 ASP.NET 1.1 中,ASPNET 的進(jìn)程標(biāo)識(shí)為 IWAM_MachineName,所以不存在此問(wèn)題。
注意:如果允許 ASP.NET 應(yīng)用程序作為 SYSTEM 或管理員帳戶運(yùn)行,將帶來(lái)嚴(yán)重的安全問(wèn)題。如果使用其中的任一種替代方法,在Aspnet_wp.exe 進(jìn)程中運(yùn)行的代碼都將有權(quán)訪問(wèn)域控制器和域設(shè)置。從 Aspnet_wp.exe 進(jìn)程啟動(dòng)的可執(zhí)行文件在相同的上下文中運(yùn)行,它們也有權(quán)訪問(wèn)域控制器。
因此,Microsoft 建議使用第一種替代方法。若要使用第一種替代方法,請(qǐng)按照下列步驟操作: 1. 在計(jì)算機(jī)上創(chuàng)建名為 ASPUSER 的用戶帳戶,然后將此帳戶添加到用戶組中。
注意:如果更改了 .NET Framework 創(chuàng)建的 ASPNET 帳戶的密碼,也可以使用該帳戶。您必須知道此帳戶的密碼,因?yàn)樾枰诤竺娴牟襟E中將該密碼添加到 <processModel> 部分。
2. 授予 ASPUSER 或 ASPNET 帳戶“作為批處理作業(yè)登錄”用戶權(quán)限。確保此更改出現(xiàn)在“本地安全策略”設(shè)置中。
注意:若要向此帳戶授予“作為批處理作業(yè)登錄”用戶權(quán)限,可能必須在以下每一個(gè)安全策略中都授予此用戶權(quán)限(從控制面板/管理工具開(kāi)始操作):
?域控制器安全策略
?域安全策略
?本地安全策略
注意:您可能必須重新啟動(dòng)服務(wù)器以使這些更改生效。
3. 確保 ASPUSER 或 ASPNET 帳戶有權(quán)訪問(wèn)啟動(dòng) Aspnet_wp.exe 進(jìn)程和為 ASP.NET 頁(yè)提供服務(wù)所必需的全部目錄和文件。有關(guān)必須授予此帳戶何種權(quán)限的其他信息,請(qǐng)單擊下面的文章編號(hào),以查看 Microsoft 知識(shí)庫(kù)中相應(yīng)的文章:
317012 INFO:ASP.NET 中的進(jìn)程和請(qǐng)求標(biāo)識(shí)
4. 打開(kāi) Machine.config 文件。該文件的路徑是:%Systemroot%Microsoft.NETFrameworkv1.0.3705CONFIG。
5. 在 Machine.config 文件的 <processModel> 部分,將 userName 和 password 屬性更改為您在第一步中創(chuàng)建的帳戶的名稱和密碼。例如:
userName=”DomainNameASPUSER” password=”ASPUSERpassword”
6. 保存對(duì) Machine.config 文件所做的更改。
************************************************************************************
弄了很久一直不行,后來(lái)終于發(fā)現(xiàn)系統(tǒng)中iuse_oaserver(oaserver是服務(wù)器的計(jì)算機(jī)名)用戶名被改成了iuse_server,很多用戶都沒(méi)掉了或者被改名了,可能是原先中毒的緣故,我添加了IUSE_OASERVER,添加了dotnet1.1安裝目錄下的權(quán)限等,網(wǎng)頁(yè)可以訪問(wèn)了。主要有以下操作:
①、aspnet_regiis -i (重新安裝ASP.NET 組件);
②、給donnet1.1 安裝目錄C:WINNTMicrosoft.NETFrameworkv1.1.4322的安全屬性里添加iuse_oaserver讀取的權(quán)限;
③、重新啟動(dòng)一下IIS 或者在”運(yùn)行”中輸入:iisreset;
④、激活2個(gè)帳戶 ASPNET、IUSR_machine(“machine”為計(jì)算機(jī)名稱),不要設(shè)置密碼,確認(rèn)在IIS的安全設(shè)置(匿名訪問(wèn))里面找到”IUSR_machine”用戶,并且是由IIS控制密碼的;
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至2705686032@qq.com 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。原文轉(zhuǎn)載: 原文出處: