«Не удалось установить SSL-соединение, см. внутреннее исключение». Сервер идентификации 4C#

Место общения программистов C#
Ответить
Anonymous
 «Не удалось установить SSL-соединение, см. внутреннее исключение». Сервер идентификации 4

Сообщение Anonymous »

Я получаю сообщение «Не удалось установить SSL-соединение, см. внутреннее исключение». когда я пытаюсь перенаправить на Identity Server 4
https://subdomain.domain-name/Account/L ... rnUrl=test, возвращаю 400 с сообщением «Не удалось установить соединение SSL» , см. внутреннее исключение». в ответ.
Однако https://subdomain.domain-name.com/.well ... figuration работает нормально с успешным кодом состояния 200.На сервере установлен действительный сертификат, это подстановочный сертификат, поэтому он отлично работает для других поддоменов. Я не получаю внутреннего исключения или какого-либо исключения в журналах, и оно выглядит следующим образом:

Код: Выделить всё

2024-07-03T19:46:19.5063415-07:00 [INF] (Microsoft.AspNetCore.Hosting.Diagnostics) Request finished "HTTP/2" "GET" "https"://"subdomain.domain-name.com""""/connect/authorize""?client_id=test&redirect_uri=https%3A%2F%2Fsubdomain.domain-name.com%2Fauth%2Fcallback&response_type=code&scope=scop1%20scope2%20scope3%20openid&state=01ca3221ae9941ab8b9dae361e90ad2b&code_challenge=qflqD9oFsB1IDosGIkxdvgXSydrupclMNzqUfwPfLqY&code_challenge_method=S256&prompt=login&response_mode=query" - 302 null null 791.1054ms
2024-07-03T19:46:19.8883796-07:00 [INF] (Microsoft.AspNetCore.Hosting.Diagnostics) Request starting "HTTP/2" "GET" "https"://"subdomain.domain-name.com""""/Account/Login""?ReturnUrl=%2Fconnect%2Fauthorize%2Fcallback%3Fclient_id%test%26redirect_uri%3Dhttps%253A%252F%252Fsubdomain.domain-name.com%252Fauth%252Fcallback%26response_type%3Dcode%26scope%3Dtest%2520scope2%2520scope3%2520openid%26state%3D01ca3221ae9941ab8b9dae361e90ad2b%26code_challenge%3DqflqD9oFsB1IDosGIkxdvgXSydrupclMNzqUfwPfLqY%26code_challenge_method%3DS256%26response_mode%3Dquery" - null null
2024-07-03T19:46:19.9104471-07:00 [INF] (Microsoft.AspNetCore.Routing.EndpointMiddleware) Executing endpoint '"AuthService.IdentityServer.Controllers.Account.AccountController.Login (AuthService.IdentityServer)"'
2024-07-03T19:46:19.9533389-07:00 [INF] (Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker) Route matched with "{action = \"Login\", controller = \"Account\"}".  Executing controller action with signature "System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] Login(System.String)" on controller "AuthService.IdentityServer.Controllers.Account.AccountController" ("AuthService.IdentityServer").
2024-07-03T19:46:20.1461740-07:00 [INF] (Microsoft.AspNetCore.Mvc.Infrastructure.SystemTextJsonResultExecutor) Executing JsonResult, writing value of type '"System.String"'.
2024-07-03T19:46:20.1597366-07:00 [INF] (Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker) Executed action "AuthService.IdentityServer.Controllers.Account.AccountController.Login (AuthService.IdentityServer)" in 199.8188ms
2024-07-03T19:46:20.1600204-07:00 [INF] (Microsoft.AspNetCore.Routing.EndpointMiddleware) Executed endpoint '"AuthService.IdentityServer.Controllers.Account.AccountController.Login (AuthService.IdentityServer)"'
2024-07-03T19:46:20.1603614-07:00 [INF] (Microsoft.AspNetCore.Hosting.Diagnostics) Request finished "HTTP/2" "GET" "https"://"subdomain.domain-name.com""""/Account/Login""?ReturnUrl=%2Fconnect%2Fauthorize%2Fcallback%3Fclient_id%3Dtest%26redirect_uri%3Dhttps%253A%252F%252Fsubdomain.domain-name.com%252Fauth%252Fcallback%26response_type%3Dcode%26scope%3Dtest%2520scope2%scope3%2520openid%26state%3D01ca3221ae9941ab8b9dae361e90ad2b%26code_challenge%3DqflqD9oFsB1IDosGIkxdvgXSydrupclMNzqUfwPfLqY%26code_challenge_method%3DS256%26response_mode%3Dquery" - 400 null "application/json" 271.9512ms
Я попробовал добавить следующее в файл program.cs, чтобы все заработало, но все равно получаю ту же ошибку:

Код: Выделить всё

    app.UseCookiePolicy(new CookiePolicyOptions
{
HttpOnly = HttpOnlyPolicy.None,
MinimumSameSitePolicy = SameSiteMode.None,
Secure = CookieSecurePolicy.Always
});

Код: Выделить всё

    // Use forwarded headers middleware before other middleware

app.UseForwardedHeaders(new ForwardedHeadersOptions
{
ForwardedHeaders = ForwardedHeaders.XForwardedProto
});

Код: Выделить всё

// Configure HttpClient with custom SSL validation and Serilog logging
services.AddHttpClient("custom")
.ConfigurePrimaryHttpMessageHandler(() =>
{
var logger = services.BuildServiceProvider().GetRequiredService();
return new HttpClientHandler
{
ServerCertificateCustomValidationCallback = (request, cert, chain, errors) =>
{
logger.LogError($"SslPolicyErrors: {errors}");

if (chain == null)
{
logger.LogWarning("No chain...");
}
else
{
foreach (X509ChainElement element in chain.ChainElements)
{
logger.LogInformation($"Certificate Subject: {element.Certificate.Subject}");
logger.LogInformation($"ChainElementStatus Length: {element.ChainElementStatus.Length}");
foreach (X509ChainStatus status in element.ChainElementStatus)
{
logger.LogInformation($"Status: {status.Status}: {status.StatusInformation}");
}
}
}

// Ensure to perform the actual validation check for production
return errors == SslPolicyErrors.None;
}
};
});
Я проверил проверку Https на SSLLabs.com, с поддоменом все правильно. Я использую хостинг Sharkasp.net.
Я попробовал несколько решений, упомянутых о проблемах github и stackoverflow, но все равно получаю ту же ошибку: «Не удалось установить SSL-соединение, см. внутренний исключение."

Подробнее здесь: https://stackoverflow.com/questions/787 ... entity-ser
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»