1762748584
2025-11-09 18:52:00
確認しながら アプリケーションインサイト 今年の初め、私は Optimizely サイトで奇妙な例外に遭遇しました。最初は、リダイレクトの設定が間違っているか、テストコードが残っているのではないかと思いましたが、詳しく調べてみると、それは問題であることが判明しました。 実際のプラットフォームのバグ、最終的に Optimizely に報告した 1 件。
それは微妙です。を使用している場合は、 すぐに提供されるカスタム エラー ページすでに最新バージョンを実行している場合を除き、影響を受ける可能性があります。
症状
私のサイトでは例外があまり発生しないので、これはすぐに目立ちました。いくつかのエラーがスローされていましたが、すべて同じ根本原因があり、すべてがトリガーされていました。 ボット、実際のユーザーではありません。
Application Insights に表示された内容は次のとおりです。
System.UriFormatException:
at System.Uri.CreateThis (System.Private.Uri undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=b03f5f7f11d50a3a undefined)
at System.Uri..ctor (System.Private.Uri undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=b03f5f7f11d50a3a undefined)
at System.UriBuilder..ctor (System.Private.Uri undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=b03f5f7f11d50a3a undefined)
at EPiServer.UrlBuilder.Init (EPiServer undefined, Version=12.22.6.0 undefined, Culture=neutral undefined, PublicKeyToken=8fe83dea738b45b7 undefined)
at EPiServer.Core.Routing.Pipeline.Internal.SimpleAddressResolverPipelineStep.ResolveSimpleAddress (EPiServer undefined, Version=12.22.6.0 undefined, Culture=neutral undefined, PublicKeyToken=8fe83dea738b45b7 undefined)
at EPiServer.Core.Routing.Pipeline.Internal.SimpleAddressResolverPipelineStep.Resolve (EPiServer undefined, Version=12.22.6.0 undefined, Culture=neutral undefined, PublicKeyToken=8fe83dea738b45b7 undefined)
at EPiServer.Core.Routing.Internal.DefaultContentUrlResolver.Resolve (EPiServer undefined, Version=12.22.6.0 undefined, Culture=neutral undefined, PublicKeyToken=8fe83dea738b45b7 undefined)
at EPiServer.Cms.Shell.UI.Controllers.Internal.ErrorsController.ResolveUICulture (EPiServer.Cms.Shell.UI undefined, Version=12.32.5.0 undefined, Culture=neutral undefined, PublicKeyToken=8fe83dea738b45b7 undefined)
at EPiServer.Cms.Shell.UI.Controllers.Internal.ErrorsController.Error500 (EPiServer.Cms.Shell.UI undefined, Version=12.32.5.0 undefined, Culture=neutral undefined, PublicKeyToken=8fe83dea738b45b7 undefined)
at lambda_method58068 .lambda_method58068 (Anonymously Hosted, Version=0.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=null undefined)
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor+SyncActionResultExecutor.Execute (Microsoft.AspNetCore.Mvc.Core undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=adb9793829ddae60 undefined)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker+g__Logged|12_1>d.MoveNext (Microsoft.AspNetCore.Mvc.Core undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=adb9793829ddae60 undefined)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=7cec85d7bea7798e undefined)
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=7cec85d7bea7798e undefined)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=7cec85d7bea7798e undefined)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker+g__Awaited|10_0>d.MoveNext (Microsoft.AspNetCore.Mvc.Core undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=adb9793829ddae60 undefined)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=7cec85d7bea7798e undefined)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow (Microsoft.AspNetCore.Mvc.Core undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=adb9793829ddae60 undefined)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next (Microsoft.AspNetCore.Mvc.Core undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=adb9793829ddae60 undefined)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync (Microsoft.AspNetCore.Mvc.Core undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=adb9793829ddae60 undefined)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=7cec85d7bea7798e undefined)
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=7cec85d7bea7798e undefined)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=7cec85d7bea7798e undefined)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker+g__Awaited|25_0>d.MoveNext (Microsoft.AspNetCore.Mvc.Core undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=adb9793829ddae60 undefined)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=7cec85d7bea7798e undefined)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow (Microsoft.AspNetCore.Mvc.Core undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=adb9793829ddae60 undefined)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next (Microsoft.AspNetCore.Mvc.Core undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=adb9793829ddae60 undefined)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync (Microsoft.AspNetCore.Mvc.Core undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=adb9793829ddae60 undefined)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=7cec85d7bea7798e undefined)
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=7cec85d7bea7798e undefined)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=7cec85d7bea7798e undefined)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker+g__Logged|17_1>d.MoveNext (Microsoft.AspNetCore.Mvc.Core undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=adb9793829ddae60 undefined)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=7cec85d7bea7798e undefined)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker+g__Logged|17_1>d.MoveNext (Microsoft.AspNetCore.Mvc.Core undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=adb9793829ddae60 undefined)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=7cec85d7bea7798e undefined)
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=7cec85d7bea7798e undefined)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=7cec85d7bea7798e undefined)
at Stott.Optimizely.RobotsHandler.Environments.RobotsHeaderMiddleware+d__2.MoveNext (Stott.Optimizely.RobotsHandler undefined, Version=4.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=null undefined)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=7cec85d7bea7798e undefined)
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=7cec85d7bea7798e undefined)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=7cec85d7bea7798e undefined)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware+d__11.MoveNext (Microsoft.AspNetCore.Authorization.Policy undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=adb9793829ddae60 undefined)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=7cec85d7bea7798e undefined)
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=7cec85d7bea7798e undefined)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=7cec85d7bea7798e undefined)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware+d__6.MoveNext (Microsoft.AspNetCore.Authentication undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=adb9793829ddae60 undefined)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=7cec85d7bea7798e undefined)
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=7cec85d7bea7798e undefined)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=7cec85d7bea7798e undefined)
at Geta.NotFoundHandler.Infrastructure.Initialization.NotFoundHandlerMiddleware+d__2.MoveNext (Geta.NotFoundHandler undefined, Version=5.0.13.0 undefined, Culture=neutral undefined, PublicKeyToken=null undefined)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=7cec85d7bea7798e undefined)
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=7cec85d7bea7798e undefined)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=7cec85d7bea7798e undefined)
at EPiServer.Cms.Shell.UI.Internal.RegisterAdminUserMiddleware+d__5.MoveNext (EPiServer.Cms.Shell.UI undefined, Version=12.32.5.0 undefined, Culture=neutral undefined, PublicKeyToken=8fe83dea738b45b7 undefined)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=7cec85d7bea7798e undefined)
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=7cec85d7bea7798e undefined)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=7cec85d7bea7798e undefined)
at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl+d__11.MoveNext (Microsoft.AspNetCore.Diagnostics undefined, Version=8.0.0.0 undefined, Culture=neutral undefined, PublicKeyToken=adb9793829ddae60 undefined)
根本原因
少しデバッグした結果、特定のリクエストに次のものが含まれていることがわかりました。 URL 内の無効な文字、Optimizely の原因となった ErrorsController を構築しようとして失敗する Uri。
問題を引き起こしたリクエストの例を次に示します。
https://www.davidhome.net/h%20ttps:%20oast.me
そのほんの少しの不正な入力は、問題を引き起こすのに十分でした。 System.UriFormatException プラットフォームの奥深く。基本的に、コントローラーは Uri 受信リクエストからのものですが、値が無効な場合はすべてが壊れます。
修正
この問題はすでに修正されています EPiServer.CMS.Core 12.22.9。
以前のバージョンを使用していて、同様の例外が発生する場合は、単に パッケージを更新する 大丈夫です。
最終的な考え
これは通常、エンド ユーザーがトリガーするものではありませんが、テレメトリにノイズがなく、ログが信頼しやすくなるようにするためにクリーンアップする価値はあります。
このような小さなバグを見ると、たとえバックグラウンドで何も起こっていないと思われる場合でも、Application Insights を時々チェックする価値がある理由を思い出させられます。
楽しいプログラミング 👋
#ErrorsController #の #Optimizely #CMS #プラットフォームのバグ #EPiServer.CMS.Core #12.22.9 #修正