issue with Merchant validation from web ASP.NET core behind load balancer

Getting issue while doing merchant validation from windows server behind load balancer.

"System.IO.IOException: The decryption operation failed, see inner exception.\r\n ---> System.ComponentModel.Win32Exception (0x80090326): The message received was unexpected or badly formatted.\r\n --- End of inner exception stack trace ---\r\n at System.Net.Security.SslStream.ReadAsyncInternal[TIOAdapter](TIOAdapter adapter, Memory`1 buffer)\r\n at System.Net.Http.HttpConnection.InitialFillAsync(Boolean async)\r\n at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)"

Please anyone can help here

code snippet :

// POST the data to create a valid Apple Pay merchant session.

    string json = JsonSerializer.Serialize(request);
    string path = "apple-pay-cert.pem";
    string jsonfilepath = _configuration.GetSection("ApplePay").GetValue<string>("MerchantCertificateFileName");
    if (!string.IsNullOrEmpty(jsonfilepath))
    {
         path = _hostingEnvironment.ContentRootFileProvider.GetFileInfo(jsonfilepath)?.PhysicalPath;
    }
    var cert = new X509Certificate2(path, "",
        X509KeyStorageFlags.UserKeySet | X509KeyStorageFlags.PersistKeySet |
        X509KeyStorageFlags.Exportable);
    var sslOptions = new SslClientAuthenticationOptions();
    var shHandler = new SocketsHttpHandler
    {
        MaxConnectionsPerServer = 100,
        AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate,
        PooledConnectionLifetime = TimeSpan.FromMinutes(3),
        ConnectTimeout = TimeSpan.FromSeconds(100),
        PooledConnectionIdleTimeout = TimeSpan.FromSeconds(60),
        ResponseDrainTimeout = TimeSpan.FromSeconds(60),
    };

    if (cert != null)
    {
        shHandler.SslOptions = new SslClientAuthenticationOptions()
        {
            ClientCertificates = new X509CertificateCollection(),
        };

        shHandler.SslOptions.ClientCertificates.Add(cert);
        shHandler.SslOptions.LocalCertificateSelectionCallback = (object sender, string targetHost, X509CertificateCollection localCertificates, X509Certificate remoteCertificate, string[] acceptableIssuers) => cert;
    }

    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

    var httpClient = new HttpClient(shHandler);
    
    using var content = new StringContent(json, Encoding.UTF8, MediaTypeNames.Application.Json);

    using var response = await httpClient.PostAsync(requestUri, content, cancellationToken);

     response.EnsureSuccessStatusCode();

    // Read the opaque merchant session JSON from the response body.
    using var stream = await response.Content.ReadAsStreamAsync();

    return await JsonDocument.ParseAsync(stream, cancellationToken: cancellationToken);