外向きの静的 IP アドレスを設定しない状態で、.NET8でHttpRequestを送るための改善を行いたい

前提条件

  • ASP.NET Core 8 環境
  • Google CloudのCloud Run等で外向きの静的 IP アドレスを設定しない状態(IPが固定できている場合には問題は起こらない。)

発生する現象

System.Net.NetworkInformation.NetworkInformationException (13): Permission denied が発生する時がある。(起きない時もある。)

対処方法

  • HTTP/3( Alt-Svc 処理)を無効にする
    • DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP3SUPPORTfalseに設定する。
    • AppContext.SetSwitchで、System.Net.SocketsHttpHandler.Http3Supportを設定する。

関連Issue

github.com