Iis

虛擬目錄到 UNC 路徑的權限問題

  • April 26, 2019

我的站點中有一個虛擬目錄(測試環境)。它是一個 UNC 共享,也用作公共 FTP。

它被配置為作為域管理員帳戶連接,“測試設置”表示一切正常。但是,當我嘗試連接到它時,我得到:

500 - “無法開始監視 \INTRANET\FTP\test\web.config 上的更改,因為訪問被拒絕”

這是一個 ASP.NET YSOD。我不確定為什麼 ASP.NET 會參與其中,因為它是我請求的靜態 .jpg 文件。

我嘗試打開失敗的請求跟踪,這是特定的錯誤:

  • 模組名稱 WindowsAuthentication
  • 通知 2
  • HttpStatus 500
  • HttpReason 內部伺服器錯誤
  • HttpSubStatus 0
  • 錯誤程式碼 0
  • 配置異常資訊
  • 通知 AUTHENTICATE_REQUEST
  • ErrorCode 操作成功完成。(0x0)

如果我將“物理路徑登錄類型”從 ClearText 更改為 Network。我收到以下 IIS 錯誤:

HTTP 錯誤 500.19 - 內部伺服器

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

詳細的錯誤資訊

  • 模組IIS Web 核心
  • 通知開始請求
  • 處理程序尚未確定
  • 錯誤程式碼 0x80070005
  • 配置錯誤由於權限不足,無法讀取配置文件
  • 配置文件 \\?\UNC\INTRANET\FTP\test\web.config
  • 請求的 URL http://test.mydowmain.com:80/uploads/images/ca49acf6-6174-412e-8abd-59fab983e931.jpg
  • 物理路徑 \\INTRANET\FTP\test\images\ca49acf6-6174-412e-8abd-59fab983e931.jpg
  • 登錄方式尚未確定
  • 登錄使用者尚未確定
  • 失敗的請求跟踪日誌目錄 C:\inetpub\logs\FailedReqLogFiles

奇怪的是,這並沒有生成失敗的請求日誌——我已將失敗的請求跟踪設置為跟踪錯誤程式碼為 400-999 的錯誤。

另外值得注意的是,如果我從 IIS 中打開配置功能,我會看到拒絕訪問錯誤。

我在我的本地開發機器上對相同的 UNC 路徑和相同的使用者進行了完全相同的設置。只是在測試伺服器上沒有。

我究竟做錯了什麼?

它是一個 ASP.net 應用程序這一事實可能正是問題所在。您的應用程序池標識必須具有權限(不一定是 IIS 標識;預設情況下,應用程序池標識是本地網路服務帳戶。)您還可能需要在 IIS 電腦上執行 caspol.exe。

http://msdn.microsoft.com/en-us/library/cb6t8dtz%28v=vs.80%29.aspx

http://learn.iis.net/page.aspx/50/aspnet-20-35-shared-hosting-configuration/

%windir%\Microsoft.NET\Framework\v2.0.50727\caspol -m -ag 1.  -url "file://\\remotefileserver\content$\*" FullTrust

引用自:https://serverfault.com/questions/279414