Я пытаюсь поднять Docker Compose для моих услуг, и я хочу, чтобы они использовали HTTPS -протокол для общения, поэтому я написал SMTH, как это в моем файле Program.cs: < /p>
builder.WebHost.ConfigureKestrel(options =>
{
options.ListenAnyIP(8081, listenOptions =>
{
try
{
listenOptions.UseHttps("/https/LRA.sertificate.pfx", "1234");
}
catch (Exception ex)
{
Console.WriteLine("HTTPS error: " + ex.Message);
}
});
options.ListenAnyIP(8080);
})
< /code>
И это сработало.
после того, как я попытался заменить его на общий проект (класс LIB), потому что его можно использовать в разных службах и создать метод расширения, подобный этим: < /p>
using Microsoft.AspNetCore.Hosting;
namespace LRA.Account.Application.Extension;
public static class SslSertificateInjection
{
public static IWebHostBuilder AddApplicationServices(this IWebHostBuilder hosting)
{
hosting.ConfigureKestrel(options =>
{
options.ListenAnyIP(8081, listenOptions =>
{
try
{
listenOptions.UseHttps("/https/LRA.sertificate.pfx", "1234");
}
catch (Exception ex)
{
Console.WriteLine("HTTPS error: " + ex.Message);
}
});
options.ListenAnyIP(8080);
});
return hosting;
}
}
< /code>
Но я получил ошибку: CS1061 'iwebhostbuilder' не содержит определения для «configureKestrel», и никакого метода доступного расширения 'configureKestrel' Принимая первый аргумент типа 'iwebhostbuilder'. Microsoft.aspnetcore.hosting -пространство имен, поэтому я не могу понять, почему его нельзя найти. Может быть, вы можете предложить либо решение о Proble, либо другой опции подключить SSL Sertificate к моей службе, чтобы мне не понадобилась эта часть кода.
Подробнее здесь: https://stackoverflow.com/questions/796 ... et-project