簡體   English   中英

錯誤500.19 - 基於UNC的IIS 7.5站點 - 文件權限問題

[英]Error 500.19 - IIS 7.5 Site based on UNC - File Permissions Problem

我正在嘗試在我的IIS 7.5(Win 7 Pro機器)中獲得一個網站,以通過UNC路徑運行默認網站和底層應用程序之一的代碼。 這是我第一次嘗試在基於UNC路徑的IIS 7.5中設置站點/應用程序:同一域中另一台服務器上的文件夾。

我嘗試過各種各樣的方法來解決這個問題。 應用程序池在我的Win 7 Pro PC上的ApplicationPoolIdentity下運行,我在此設置了此站點。

嘗試通過http:// localhost / TheAppName在瀏覽器中運行應用程序時遇到的運行時錯誤是:

模塊: IIS Web Core
通知:未知
處理程序:尚未確定
錯誤代碼: 0x800700005
配置錯誤:由於權限不足,無法讀取配置文件
配置文件: \\\\?\\UNC\\theServerName\\www\\TheAppName
請求的URL: http://localhost:80/TheAppName
物理路徑:(沒有顯示在這里)
登錄方法:尚未確定
登錄用戶:尚未確定

我為上面的服務器和應用程序名稱添加了假名,以獲取此帖子的隱私權。

因此,在閱讀此站點的UNC路徑中找到的web.config時遇到問題。

我嘗試在目標服務器上添加本地用戶,然后將該用戶權限授予web.config,然后在我的計算機上將該用戶RemoteServerName\\LocalUserICreated用作應用程序池的標識,但它沒有任何效果。

不知道該怎么做以及如何去做。

我假設UNC路徑是到另一台服務器?

如果是這兩個服務器在同一個域中? 如果是這樣,則IIS需要在具有讀取文件權限的用戶帳戶下運行網站。

如果不是,則需要在Web服務器和文件存儲服務器上創建相同的用戶帳戶(相同的用戶名,相同的密碼),然后更改IIS以在此用戶帳戶下運行網站。

希望這有助於/有效。

我花了幾個小時才終於為自己解決了同樣的問題。 原來我在物理路徑上使用了錯誤的斜線。 它應該是\\,而不是//這些。

從UNC路徑創建Web應用程序或虛擬目錄時,需要為IIS提供連接的憑據。

在“添加應用程序”對話框中,“物理路徑”部分下方是“連接為...”按鈕 - 然后您可以選擇“應用程序用戶(傳遞身份驗證)”或“特定用戶”。

您選擇的是,它們必須是遠程服務器可識別的憑據 - “傳遞”將嘗試使用當前桌面(或瀏覽器)憑據來驗證用戶(如果您通過VPN連接)根據你的意見)幾乎肯定不會有效。 在這種情況下,您應該使用“特定用戶”並提供(理想情況下)具有適當權限的域用戶來運行該站點。

當我們過去需要這樣做時,我們會在本地AppPools運行的域上創建一個帳戶,然后這也可以在這些情況下使用。

如果您已經創建了應用程序,則可以使用“基本設置...”操作鏈接訪問該對話框。

ZhaphAlan都確定了微軟提出的解決方案。 以下是Microsoft針對您的問題頁面的其他信息:

原因

IIS 6.0使用托管工作進程標識連接到遠程目錄。 然后,IIS 6.0根據遠程目錄對用戶進行身份驗證。 但是,IIS 7.0引入了委派方案。 在IIS 7.0中,您可以將Web站點設置和應用程序級設置委派給Web.config文件。

對於傳遞身份驗證,Web.config文件存儲在UNC目錄中。 因此,IIS 7.0中的默認進程標識必須首先檢查Web.config文件,以確定在身份驗證過程開始之前是否必須應用任何與安全相關的設置。 IIS 7.0中的默認進程標識沒有足夠的權限來打開Web.config文件。 因此,Web請求被拒絕。

如果UNC目錄中沒有Web.config文件,則IIS 7.0將使用為父目錄定義的規則。 對於在此方案中提供的Web內容,工作進程標識必須能夠訪問整個內容目錄。 否則,Web請求被拒絕。

解析度

若要解決此問題並確保傳遞身份驗證正常工作,請按照下列步驟操作:

  1. 確保訪問UNC目錄的所有用戶帳戶至少具有UNC目錄的讀取權限。

    注意此行為與IIS 6.0中的行為相同。

  2. 確保IIS工作進程標識在域帳戶下或在UNC文件服務器上也存在的工作組帳戶下運行。 如果有必要,請在UNC文件服務器上創建一個帳戶,該帳戶具有與IIS工作進程標識相同的用戶名和密碼。

    筆記

    • 此行為與IIS 6.0中的行為不同。
    • 默認情況下, DefaultAppPool應用程序池在網絡服務帳戶下運行。 此帳戶是計算機的本地帳戶,此帳戶在另一台計算機上不存在。 因此,請確保將DefaultAppPool應用程序池配置為使用域用戶的帳戶。 然后,您可以在UNC文件服務器上使用相同的帳戶。 或者,您可以在UNC文件服務器和運行IIS 7.0的計算機上創建工作組帳戶。
  3. 如果UNC目錄中有Web.config文件,請編輯Web.config文件的自主訪問控制列表(DACL),以便DACL包含您在步驟2中驗證的帳戶。或者,編輯Web的DACL .config文件,以便DACL包含您在步驟2中創建的帳戶。

    如果UNC目錄中沒有Web.config文件,請編輯UNC目錄的DACL,以便DACL包含您在步驟2中驗證的帳戶。或者,編輯UNC目錄的DACL,以便DACL包含該帳戶您在第2步中創建的。

    注意此行為與IIS 6.0中的行為不同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM