Я пытаюсь развернуть простой сервер grp c, написанный на ядре asp. net. Настройки Kestrel:
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.ConfigureKestrel(c =>
{
c.Listen(IPAddress.Any, 8001);
c.ConfigureHttpsDefaults(https =>
{
https.ServerCertificate = new X509Certificate2("MyDemo.gRPC.pfx", "Pa55word");
});
})
.UseStartup<Startup>();
});
Я создал образ docker и развернул его в экземпляре контейнера Azure и открыл порт 8001. Когда я использую незащищенный канал для вызова сервера с клиента , Я получаю успешный ответ, т.е.
AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true);
using var channel = GrpcChannel.ForAddress("http://01.02.3.04:8001");
заставляет сервер отвечать. Однако, когда я пытаюсь использовать безопасный канал и использовать https, я получаю исключение
Ошибка при запуске вызова gRP C. HttpRequestException: не удалось установить SSL-соединение, см. Внутреннее исключение. IOException: рукопожатие не удалось из-за неожиданного формата пакета.
Я предполагаю, что это как-то связано с моими настройками Kestrel, может ли кто-нибудь увидеть мою проблему?