Перезагрузить сертификаты без перезапуска сервера KestrelC#

Место общения программистов C#
Ответить
Anonymous
 Перезагрузить сертификаты без перезапуска сервера Kestrel

Сообщение Anonymous »

Я использую сертификаты Let's Encrypt, которые обновляются каждые 90 дней, и мне хотелось бы знать, есть ли способ перезагрузить сертификаты без перезапуска сервера Kestrel.
Я попробовал этот ответ на github, но я просто не понимаю или не могу заставить его работать:
https://github.com/aspnet/KestrelHttpServer/issues/2967
Прямо сейчас у меня есть этот код:

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

    public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}

public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseKestrel(options =>
{
options.Listen(IPAddress.Any, 80);
options.Listen(IPAddress.Any, 443, listenOptions =>
{
listenOptions.UseHttps(httpsOptions =>
{
httpsOptions.ServerCertificateSelector = (context, dnsName) =>
{
var certificate = new X509Certificate2("C:\\Users\\jserra\\Desktop\\folder1\\Cert1.pfx", "`P@ssw0rd");
return certificate;
};
});
});
}).UseStartup();
});
}
}
Этот код создает новый сертификат var для каждого запроса.

Итак, у меня есть 2 сертификата: Cert1.pfx и Cert2.pfx.

Сначала я пытаюсь сделать запрос, он загружает Cert1, а затем во время выполнения с помощью проводника я переименовываю Cert1.pfx в Cert1.pfx.old.

Затем я переименовываю Cert2.pfx в Cert1. pfx, я делаю новый запрос, и на этот раз сервер использует новый сертификат.
Имеет ли это смысл? Хорошо ли создавать новый сертификат var = Cert1.pfx при каждом новом запросе?
Если у вас есть что-то, что поможет решить мой вопрос, я хотел бы это прочитать, спасибо всем.

Подробнее здесь: https://stackoverflow.com/questions/709 ... er-kestrel
Ответить

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

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

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

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

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