Ошибка при запуске, если https не настроен - PullRequest
1 голос
/ 29 марта 2019

Мы распространили веб-приложение, которое наши клиенты размещают в помещении, и мы хотим убрать варианты его запуска без https.Мы разрешаем настройку только с использованием раздела "kestrel" в appsettings.json, и мы в основном хотим, чтобы приложение выдавало ошибку при запуске, а затем закрывалось, если в конфигурации нет действительной конечной точки https.

У нас уже естьUseHttpsRedirection (), который выдает предупреждение, но не заставляет приложение завершать работу.

1 Ответ

0 голосов
/ 29 марта 2019

Вы можете создать собственное промежуточное ПО, которое не запускается при запуске по HTTP:

public class RequireHttpsMiddleware
{
    private readonly RequestDelegate _next;

    public RequireHttpsMiddleware(RequestDelegate next)
    {
        _next = next;
    }

    public async Task InvokeAsync(HttpContext context)
    {
        if (!context.Request.IsHttps)
        {
            throw new Exception("Not allowed to run application on HTTP.");
        }

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