title: .NET Core Healthchecks UI not showing
body: <p>I'm using .NET Core 3.1 and trying to set up health checks and running into an odd issue and need some help.</p>
  <p>When I go to the basic health check URL (https://localhost:5001/hc), I get the following:</p>
  <pre><code>{
    &quot;status&quot;: &quot;Healthy&quot;,
    &quot;errors&quot;: [
      {
        &quot;key&quot;: &quot;AssessmentContext&quot;,
        &quot;value&quot;: &quot;Healthy&quot;
      }
    ]
  }
  </code></pre>
  <p>Which looks good! However, when I try and go to the UI, it's saying that the application is unhealthy.</p>
  <p><a href="https://i.stack.imgur.com/8yfC3.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/8yfC3.png" alt="UI error" /></a></p>
  <p>So it's pulling the endpoint name correctly, but it's not registering it right.</p>
  <p>My startup.cs file looks like this:</p>
  <pre><code>public void ConfigureServices(IServiceCollection services) {
      ...
  
      services
          .AddHealthChecks()
          .AddDbContextCheck&lt;AssessmentContext&gt;();
  
      services.AddHealthChecksUI(opt =&gt; {
          opt.SetEvaluationTimeInSeconds(30);
          opt.MaximumHistoryEntriesPerEndpoint(60);
  
          opt.AddHealthCheckEndpoint(name: &quot;app&quot;, uri: &quot;~/hc&quot;);
      }).AddInMemoryStorage();
  
  }
  
  public void Configure(IApplicationBuilder app, IWebHostEnvironment env) {
      ...
  
      app.UseEndpoints(endpoints =&gt;
      {
          endpoints.MapHealthChecks(&quot;/hc&quot;, new HealthCheckOptions
          {
              Predicate = _ =&gt; true,
              ResponseWriter = UIResponseWriter.WriteHealthCheckUIResponse,
          });
  
          endpoints.MapHealthChecksUI(opt =&gt; {
              opt.UseRelativeApiPath = false;
              opt.UseRelativeResourcesPath = false;
              opt.AsideMenuOpened = false;
  
              opt.UIPath = &quot;/health&quot;;
              opt.ApiPath = &quot;/healthAPI&quot;;
          });
  
  
          ...
      });
  }
  </code></pre>
  <p>And the csproj file has these version:</p>
  <pre><code>&lt;PackageReference Include=&quot;AspNetCore.HealthChecks.UI&quot; Version=&quot;3.1.1&quot; /&gt;
  &lt;PackageReference Include=&quot;AspNetCore.HealthChecks.UI.Client&quot; Version=&quot;3.1.1&quot; /&gt;
  &lt;PackageReference Include=&quot;AspNetCore.HealthChecks.UI.InMemory.Storage&quot; Version=&quot;3.1.1&quot; /&gt;
  &lt;PackageReference Include=&quot;AspNetCore.HealthChecks.System&quot; Version=&quot;3.1.2&quot; /&gt;
  &lt;PackageReference Include=&quot;Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore&quot; Version=&quot;3.1.8&quot; /&gt;
  &lt;PackageReference Include=&quot;AspNetCore.HealthChecks.MySql&quot; Version=&quot;3.1.1&quot; /&gt;
  </code></pre>
  <pre><code>
  HealthChecks.UI.Core.HostedService.HealthCheckReportCollector: Error: GetHealthReport threw an exception when trying to get report from ~/hc configured with name app.
  
  System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
   ---&gt; System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure.
     at System.Net.Security.SslStream.StartSendAuthResetSignal(ProtocolToken message, AsyncProtocolRequest asyncRequest, ExceptionDispatchInfo exception)
     at System.Net.Security.SslStream.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
     at System.Net.Security.SslStream.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
     at System.Net.Security.SslStream.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
     at System.Net.Security.SslStream.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
     at System.Net.Security.SslStream.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
     at System.Net.Security.SslStream.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
     at System.Net.Security.SslStream.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
     at System.Net.Security.SslStream.PartialFrameCallback(AsyncProtocolRequest asyncRequest)
  --- End of stack trace from previous location where exception was thrown ---
     at System.Net.Security.SslStream.EndProcessAuthentication(IAsyncResult result)
     at System.Net.Security.SslStream.EndAuthenticateAsClient(IAsyncResult asyncResult)
     at System.Net.Security.SslStream.&lt;&gt;c.&lt;AuthenticateAsClientAsync&gt;b__65_1(IAsyncResult iar)
     at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
  --- End of stack trace from previous location where exception was thrown ---
     at System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore(Stream stream, SslClientAuthenticationOptions sslOptions, CancellationToken cancellationToken)
     --- End of inner exception stack trace ---
     at System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore(Stream stream, SslClientAuthenticationOptions sslOptions, CancellationToken cancellationToken)
     at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean allowHttp2, CancellationToken cancellationToken)
     at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)
     at System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)
     at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)
     at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
     at Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
     at Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
     at System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)
     at HealthChecks.UI.Core.HostedService.HealthCheckReportCollector.GetHealthReport(HealthCheckConfiguration configuration)
  
  </code></pre>