asp文件怎么瀏覽(asp文件怎么打開)

windows server下iis無法訪問asp網頁

win2000下iis無法訪問asp網頁 未能啟動 aspnet_wp.exe

今天維護一個windows2000的iis服務器,網頁無法訪問,系統應用程序日志提示:

①、未能啟動 aspnet_wp.exe,原因是配置文件的 processModel 節中提供的用戶名和/或密碼無效。

②、未能啟動 aspnet_wp.exe。失敗的 HRESULT:80004005

找了很多原因,都說是域服務器的donnet下的用戶權限配置問題,引用詳見下面,但是我的服務器不在域環境中,納悶了很久。

引用:

************************************************************************************

Win2000域服務器 IIS 無法使用asp.net程序的解決方法

把一臺服務器升級為域控制器后,安裝了ASP.NET,配置完IIS后,發現無法運行*.ASPX文件,每次運行都告訴我服務器內部錯誤,同時會在系統應用程序日志里加上以下2個錯誤

未能啟動 aspnet_wp.exe,原因是配置文件的 processModel 節中提供的用戶名和/或密碼無效。

未能啟動 aspnet_wp.exe。失敗的 HRESULT:80004005

*.ASP文件運行正常,請那位高手指點一下,到底是什么問題?

解決的辦法有幾種,

其中最快但不安全的一種是:

更改machine.config文件,

它位于C:\WINNT\Microsoft.NET\ Framework\v1.0.3705(asp.net 1.0是這樣,如果你的版本是1.1的,文件夾名回不同)\CONFIG\,

將里面一個部件中的 username的屬性設置為SYSTEM,正因為它原來默認的設置為machine,

所以訪問的asp.net的用戶名為aspnet,而這個帳號為本地帳號,而我們登錄的帳號是域控制器的帳號,不是本地機器的帳號,

這樣導致aspnet_wp.exe找不到一個本地的localmachinename \aspnet帳號而不能啟動.

這種方法我實驗過,驗證上述情況.但它很不安全,但你發布asp.net網頁時,瀏覽的用戶在你的域中是屬于system 屬性,

這樣會帶來安全隱患.最好的辦法就是,也是微軟推薦的.在你的域中添加一個aspnet帳號,設置適當的權限,而不去更改 machine.config文件.

解決方案

要解決此問題,請使用下列方法之一:

?創建具有正確權限的弱帳戶,然后配置 Machine.config 文件的 部分以使用該帳戶。

?在 Machine.config 文件的 部分,將 userName 屬性設置為 SYSTEM。

?配置 Machine.config 文件的 部分以使用管理員帳戶。

注意:在 ASP.NET 1.1 中,ASPNET 的進程標識為 IWAM_MachineName,所以不存在此問題。

注意:如果允許 ASP.NET 應用程序作為 SYSTEM 或管理員帳戶運行,將帶來嚴重的安全問題。如果使用其中的任一種替代方法,在Aspnet_wp.exe 進程中運行的代碼都將有權訪問域控制器和域設置。從 Aspnet_wp.exe 進程啟動的可執行文件在相同的上下文中運行,它們也有權訪問域控制器。

因此,Microsoft 建議使用第一種替代方法。若要使用第一種替代方法,請按照下列步驟操作: 1. 在計算機上創建名為 ASPUSER 的用戶帳戶,然后將此帳戶添加到用戶組中。

注意:如果更改了 .NET Framework 創建的 ASPNET 帳戶的密碼,也可以使用該帳戶。您必須知道此帳戶的密碼,因為需要在后面的步驟中將該密碼添加到 部分。

2. 授予 ASPUSER 或 ASPNET 帳戶作為批處理作業登錄用戶權限。確保此更改出現在本地安全策略設置中。

注意:若要向此帳戶授予作為批處理作業登錄用戶權限,可能必須在以下每一個安全策略中都授予此用戶權限(從控制面板/管理工具開始操作):

?域控制器安全策略

?域安全策略

?本地安全策略

注意:您可能必須重新啟動服務器以使這些更改生效。

3. 確保 ASPUSER 或 ASPNET 帳戶有權訪問啟動 Aspnet_wp.exe 進程和為 ASP.NET 頁提供服務所必需的全部目錄和文件。有關必須授予此帳戶何種權限的其他信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:

317012 INFO:ASP.NET 中的進程和請求標識

4. 打開 Machine.config 文件。該文件的路徑是:%Systemroot%\Microsoft.NET\Framework\v1.0.3705\CONFIG。

5. 在 Machine.config 文件的 部分,將 userName 和 password 屬性更改為您在第一步中創建的帳戶的名稱和密碼。例如:

userName="DomainName\ASPUSER" password="ASPUSERpassword"

6. 保存對 Machine.config 文件所做的更改。

************************************************************************************

弄了很久一直不行,后來終于發現系統中iuse_oaserver(oaserver是服務器的計算機名)用戶名被改成了iuse_server,很多用戶都沒掉了或者被改名了,可能是原先中毒的緣故,我添加了IUSE_OASERVER,添加了dotnet1.1安裝目錄下的權限等,網頁可以訪問了。主要有以下操作:

①、aspnet_regiis -i (重新安裝ASP.NET 組件);

②、給donnet1.1 安裝目錄C:\WINNT\Microsoft.NET\Framework\v1.1.4322的安全屬性里添加iuse_oaserver讀取的權限;

③、重新啟動一下IIS 或者在"運行"中輸入:iisreset;

④、激活2個帳戶 ASPNET、IUSR_machine("machine"為計算機名稱),不要設置密碼,確認在IIS的安全設置(匿名訪問)里面找到"IUSR_machine"用戶,并且是由IIS控制密碼的;

轉載注明出處:華峰博客網

內容版權聲明:除非注明,否則皆為本站原創文章。