ASP. NET Core Runtime deploym enet СЕРТИФИКАТЫ ДОВЕРИЯ - PullRequest
0 голосов
/ 28 мая 2020

Я развертываю свой API (ASP. NET Core 3.1) на сервере и слушаю только https url:

return WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>()
                .UseUrls("http://*:5000;https://*:5001");

Но я получаю и ошибка:

crit: Microsoft.AspNetCore.Server.Kestrel[0]
      Unable to start Kestrel.
System.InvalidOperationException: Unable to configure HTTPS endpoint. No server certificate was specified, and the default developer certificate could not be found or is out of date.

При развертывании вы создаете самозаверяющий сертификат с помощью:

...
dotnet dev-certs https --trust
...

Но я, конечно, не могу использовать его, потому что у меня есть только среда выполнения. Net Ядро и не SDK, и это должно быть развернуто приложение.

У меня есть файл сертификата и ключ ssl.crt и ssl.key , которые я использую в своих внешних приложениях (apache settings et c et c ... вы понимаете, о чем я).

Могу ли я использовать его в ASP. NET или как это сделать?

Спасибо

1 Ответ

0 голосов
/ 29 мая 2020

Итак, как вы можете видеть в комментариях выше (под вопросом), Лекс Ли посоветовал прослушать http:// и использовать proxyreverse для перенаправления вызовов https на http.

Но, честно говоря, это решение немного сомнительно, и я не хотел этого делать, поэтому я продолжил поиск и нашел NuGet LettuceEncrypt , который фактически решает мою проблему. Теперь я могу слушать вызовы https, мне не нужно использовать какое-то теневое решение с proxyreverse, а также мне не нужно устанавливать весь SDK для использования команд dotnet dev-certs.

На странице github, которую я отправил ранее, используется образец использования с двумя примерами приложений, поэтому, если у вас есть похожая проблема, взгляните на него, и, возможно, это тоже решит проблему для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...