簡體   English   中英

Azure 帶有 windows 容器的應用服務 http 日志缺少 cs-用戶名

[英]Azure App Service with windows container http logs are missing the cs-username

我在 .NET Framework 4.8 上有一個 asp.net 5 web 應用程序作為 azure 應用程序服務運行,帶有 windows 服務器 2019 容器映像。 我設置了一個診斷設置以將“AppServiceHTTPLogs”發送到事件中心,在檢查日志時,我注意到經過身份驗證的請求缺少 CsUsername 屬性。

在本地或什至作為 Azure 容器實例運行相同的容器映像並檢查容器上的 IIS 日志我可以看到用戶名,因此這與在作為應用程序服務運行時捕獲 https 日志的方式和位置有關,其中日志不存在'選擇經過身份驗證的主體的身份名稱。

還有其他人遇到過這個嗎? 我是否需要將委托人作為響應 header 公開,以便日志記錄獲取它?

更新:2022 年 2 月 24 日

除了在這里詢問之外,我還開始了一個 azure 支持的案例,詢問為什么 web 服務器從運行 windows 容器的 883372360105188 應用程序服務計划上的 azure 應用程序服務日志缺少 cs 用戶名信息,同時安慰正在運行的容器應用程序服務並檢查 C:\.netpub\logs\LogFiles\W3SVC1 中的 w3c 日志顯示 cs-username 值。

他們終於回來說:

目前恐怕您設置的體系結構不支持此功能,獲取 CsUsername 詳細信息的唯一方法是部署 Linux 應用服務,然后將 Azure 存儲帳戶作為數據端點。

這對我一點幫助都沒有,因為我無法在 Linux 應用程序服務計划中運行 .NET Framework 4.8 ASP.NET MVC 5 應用程序容器。 一般來說,通過部署 windows 容器作為 azure 應用程序服務運行和 Azure DevOps 管道到將容器作為 azure 應用程序服務運行,我發現微軟對運行基於 windows 的容器的支持非常具有挑戰性並且沒有太多持續支持。 他們試圖推動 linux 托管環境,不幸的是,只有當您的體系結構基於 .NET 核心框架時,這才是一個選項。

還有其他人遇到過這個嗎? 我是否需要將委托人作為響應 header 公開,以便日志記錄獲取它?

這個問題可以通過以下兩種不同的方式解決,下面是解決步驟

A]直接更改applicationHost.config

使用以下步驟編輯高級日志記錄功能的applicationHost.config文件:

  • 在文本編輯器中打開 C:\Windows\System32\.netsrv\config\applicationHost.config 文件。
  • 找到advancedLogging部分。
  • advancedLogging中,找到<field id='UserName'...>條目。

 <field id="UserName" sourceName="UserName" sourceType=" RequestHeader " logHeaderName="cs-username" category="Default" loggingDataType="TypeLPCSTR" />

  • 修改sourceType字段為BuiltIn,如下:

 <field id="UserName" sourceName="UserName" sourceType=" BuiltIn " logHeaderName="cs-username" category="Default" loggingDataType="TypeLPCSTR" />

B]通過 Appcmd.exe 更改 applicationHost.config

您可以使用 appcmd.exe 工具進行配置更改。

運行此命令:

appcmd.exe set config -section:system.webServer/advancedLogging/server
/fields.[id='UserName'].sourceType:"BuiltIn" /commit:apphost

如需完整信息,您可以通過以下鏈接撥打 go

高級日志記錄中沒有 cs 用戶名數據 - Inte.net 信息服務 | 微軟文檔

IIS 日志中未填充 cs 用戶名 · 問題 #6741 · do.net/as.netcore · GitHub

暫無
暫無

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

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