2012-12-10 48 views
1

所以我看過類似的問題,比如here由於權限不足導致無法讀取配置文件

我不能爲我的生活找出什麼是錯的。我正在嘗試安裝一個asp.net網站。該網站存儲在服務器的D:驅動器上。在IIS8(Windows Server 2012)中,我指向web.config文件所在的web文件夾。我給IIS_IUSRS羣組讀取了整個D:Drive以及屬於IIS_IUSRS羣組的IUSR和網絡服務。我不斷收到錯誤。我將身份驗證設置爲基本身份驗證。我已重新啓動該網站。我嘗試過很多事情,但都遇到了困難。這全部在本地主機上。有沒有人有任何更多的想法,爲什麼這可能會發生?它可能是我的網絡配置中的配置?該網站正在從IIS7網站移植。如果你需要從我的webconfig中得到具體信息,我可以給你,但是很多信息都包含敏感信息。

錯誤:

HTTP錯誤500.19 - 內部服務器錯誤

請求的頁面無法訪問,因爲該頁的相關配置數據無效。

詳細錯誤信息:

模塊 IIS Web核心

通知 的BeginRequest

處理器 尚未確定

錯誤代碼 0X80070005

配置錯誤 無法讀取配置文件,由於權限不足

配置文件 \ \ d:\應用程序\門戶\ Portal.Web \ web.config中

請求的URL 本地主機:80 /門戶

物理路徑 d:\應用程序\門戶\ Portal.Web

登錄方法 尚未確定

登錄用戶 尚未確定

請求跟蹤指南 C:\的Inetpub \日誌\ FailedReqLogFiles

配置源: -1: 0:

回答

2

[1]。首先讓它爲匿名用戶工作。然後收緊權限。

如果它不適用於匿名用戶,請查找應用程序池的名稱(在IIS中)。在IIS池中,查找應用程序池正在運行的標識。授予該帳戶讀取權限。

[2]。查看服務器日誌(控制面板,管理工具,事件查看器,系統)以查看有關該錯誤的更多信息。

另外,請記住,任何以非匿名用戶身份對網站進行身份驗證的人都需要(讀取)Web內容的權限。通過將「Everyone」組的讀取權限臨時授予web.config(在文件系統級別),可以測試/消除此問題。不要這樣離開。只需使用這種方法來測試權限即可。

+0

這就是它!原來,我們必須切換應用程序池的名稱。 – McSick

+0

「在IIS池中,查找應用程序池正在運行的身份,授予該帳戶的讀取權限」。你如何授予該帳戶權限? – RayLoveless

+0

IIS配置爲指向HDD上的文件夾(通常爲c:\ inetpub \ wwwroot \)使用(文件)資源管理器,右鍵單擊該文件夾的屬性,安全性。確保該帳戶在列表中,具有讀取權限。 – tgolisch

1

您可以通過打開IIS管理器並檢查應用程序池來查看運行該網站的用戶。單擊該站點正在使用的應用程序池,然後在「操作」窗格中選擇「高級設置」。檢查身份。如果它設置爲ApplicationPoolIdentity,則需要將其添加到Web根文件夾。您可以通過手動輸入「IIS APPPOOL * apppoolname *」來添加它,其中apppoolname實際上是您最初選擇的應用程序池的名稱。一旦你輸入了名字,點擊CheckNames,並且它應該解析爲沒有先前iis apppool的應用程序池的名稱。

+0

對此的一些筆記:用戶更正確的是'IIS APPPOOL \ apppoolname'(注意空間和反斜槓與上面的),並且您可能需要確保您將「位置」設置爲本地計算機'在一個領域 - 這讓我瘋狂了幾分鐘。另外,即使您在2008非R2版上安裝了IIS 7.5,也只能在2008R2/Windows 7上執行此操作!如果您在Vista或2008非R2上安裝7.5,則必須轉到Win 7或R2計算機,通過共享連接到文件系統,然後從那裏添加權限。 –

+0

不知道在我之前的評論中\發生了什麼事。感謝您的補充。希望它能幫助解決這個問題。 –

0

對於這個問題,似乎有很多非工作答案,因爲他們是論壇發佈它們。有時IIS很難。所以,如果上述行爲不適合你,那麼下面是一個列表命令,我工作的政府機構試圖讓他們的Server 2012機器工作。他們說,其中一些可能會失敗,但只是忽略這些並繼續。

簡而言之,這些命令解鎖了分層配置系統的一部分,以便您可以通過應用程序的web.config文件調整它們。包括與壓縮有關的區域,靜態內容, 希望這有助於!

重要:運行以下命令分別在具有管理員權限的命令(DOS)窗口(即右鍵單擊命令提示符並選擇以管理員身份運行)。

%WINDIR%\ SYSTEM32 \ INETSRV \ APPCMD解鎖配置-section:httpCompression

%WINDIR%\ SYSTEM32 \ INETSRV \ APPCMD解鎖配置-section:staticContent

%WINDIR%\ SYSTEM32 \ INETSRV \ APPCMD設置配置/節:urlCompression/doDynamicCompression:真

%WINDIR%\ SYSTEM32 \ INETSRV \ APPCMD設置配置/節:urlCompression/doStaticCompression:真

%WINDIR%\ SYSTEM32 \ INETSRV \ APPCMD設置配置/部分:httpCo mpression /+staticTypes.[mimeType='text/*',enabled='true']/commit:apphost

%windir%\ system32 \ inetsrv \ appcmd set config/section:httpCompression /+staticTypes.[mimeType= 'message/*',enabled ='true']/commit:apphost

%windir%\ system32 \ inetsrv \ appcmd set config/section:httpCompression /+staticTypes.[mimeType='image/*',enabled= 'true']/commit:apphost

%windir%\ system32 \ inetsrv \ appcmd set config/section:httpCompression /+staticTypes.[mimeType='application/x-javascript',enabled='true']/commit :apphost

%windir%\ syst em32 \ inetsrv \ appcmd設置配置/部分:httpCompression/+ staticTypes。[mime類型= '應用/ JavaScript的',使能= '真'] /提交:APPHOST

%SYSTEMROOT%\ SYSTEM32 \ INETSRV \ APPCMD解鎖配置/節:windowsAuthentication

%SYSTEMROOT%\ SYSTEM32 \ INETSRV \ AppCmd解鎖配置/部分:anonymousAuthentication

相關問題