操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    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\,

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

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

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

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

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

    解決方案

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

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

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

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

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

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

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

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

    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 文件的 <processModel> 部分,將 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控制密碼的;

    這一章,我們了解一下launchSettings.json的作用。

    打開launchSettings.json 文件后,默認情況下,您將找到以下代碼。

    {
      "iisSettings": {
        "windowsAuthentication": false,
        "anonymousAuthentication": true,
        "iisExpress": {
          "applicationUrl": "http://localhost:1118",
          "sslPort": 0
        }
      },
      "profiles": {
        "IIS Express": {
          "commandName": "IISExpress",
          "launchBrowser": true,
          "environmentVariables": {
            "ASPNETCORE_ENVIRONMENT": "Development"
          }
        },
        "WebApplication4": {
          "commandName": "Project",
          "dotnetRunMessages": "true",
          "launchBrowser": true,
          "applicationUrl": "http://localhost:5000",
          "environmentVariables": {
            "ASPNETCORE_ENVIRONMENT": "Development"
          }
        }
      }
    }
    

    在這里,您可以看到,我們有兩個部分。 一種用于IIS Express(IIS服務器),另一種用于Kestrel服務器。
    在Visual Studio中,您可以找到上述兩個配置文件(IIS Express和WebApplication4),如下所示。


    如果選擇 IIS Express,則它將使用 IIS 服務器,如果您選擇 WebApplication4 應用程序,則它將使用 Kestrel 服務器。
    launchSettings.json文件的 commandName 屬性的值可以是以下任何一個:

    1. IISExpress
    2. IIS
    3. Project
      launchSettings.json文件的commandName屬性值以及應用程序項目文件中的AspNetCoreHostingModel元素值將確定將要使用和處理傳入HTTP請求的內部和外部Web服務器(反向代理服務器)。 為了更好地理解,請看下圖。

    如何驗證其工作模式?

    方法1:

    當我們在launchSettings.json文件中將CommandName用作Project時,ASP.NET Core將忽略AspNetCoreHostingModel值。 Kestrel是唯一將托管應用程序并處理傳入請求的服務器。 讓我們證明這一點。 現在,我們需要將啟動Profile設置為WebApplication4,如下所示。


    如果查看launchSettings.json文件,那么您將看到WebApplication4配置文件使用"commandName":"Project"值,并且請注意下面所示的應用程序URL。
    在我的應用程序中,URL為http://localhost:5000,端口號在您的示例中可能有所不同。

    "WebApplication4": {
          "commandName": "Project",
          "dotnetRunMessages": "true",
          "launchBrowser": true,
          "applicationUrl": "http://localhost:5000",
          "environmentVariables": {
            "ASPNETCORE_ENVIRONMENT": "Development"
          }
        }
    

    現在,將應用程序項目文件中的AspNetCoreHostingModel元素值更改為InProcess,如下所示。

    <Project Sdk="Microsoft.NET.Sdk.Web">
    	<PropertyGroup>
    		<TargetFramework>net5.0</TargetFramework>
    		<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
    	</PropertyGroup>
    </Project>
    

    然后, 啟動該項目, 可以看到首先啟動了CMD,在這種情況下將使用kestrel服務器托管應用程序。
    注: 因為當CommandName值為Project時,它將忽略AspNetCoreHostingModel值,而Kestrel是唯一將托管和處理傳入請求的服務器。

    方法2:

    如果我們使用命令名作為 IISExpress 配置文件,如果我們將 AspNetCoreHostingModel 值設置為 OutOfProcess,則ASP.NET Core使用IIS Express作為外部 Web 服務器,Kestrel 是內部 Web 服務器。外部 Web 服務器(即 IIS Express)將接收傳入的 HTTP 請求,然后將請求轉發到內部 Web 服務器,即將處理請求的 Kestrel。讓我們證明這一點。
    由于我們已經將啟動配置文件設置為 IIS Express,我們只需要將 AspNetCoreHostingModel 元素值更改為應用程序的項目文件中的 OutOfProcess,如下所示。

    <Project Sdk="Microsoft.NET.Sdk.Web">
    	<PropertyGroup>
    		<TargetFramework>net5.0</TargetFramework>
    		<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
    	</PropertyGroup>
    </Project>
    

    運行應用程序,瀏覽器輸出了項目名稱, 如下所示, 因為請求由Kestrel Web Server服務器處理。

    注: 通過運行時,輸出當前進程名稱即可。

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有