Как добавить исключения для перенаправления HTTPS в Startup.cs? (ASP.NET Core 2.1) - PullRequest
0 голосов
/ 09 января 2019

В моем методе Startup.cs Configure я вызываю app.UseHsts () и app.UseHttpsRedirection (). При использовании Let's Encrypt мне нужно подавать файлы без расширений в хорошо известную папку по HTTP.

Какой лучший способ добавить исключение для HTTPS при обслуживании файлов из .well-known?

Вот мой метод настройки в Startup.cs

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    else
    {
        app.UseHsts();
    }

    app.UseHttpsRedirection();
    app.UseWellKnownFolderForLetsEncrypt(env);
    app.UseAuthentication();

    app.UseMvc(routes =>
    {
        routes.MapRoute(
            name: "default",
            template: "{controller}/{action}/{id?}");
    });
}

Также вот метод расширения, служащий для передачи статического содержимого из известной папки.

public static class LetsEncryptAppBuilderExtensions
{
    public static IApplicationBuilder UseWellKnownFolderForLetsEncrypt(this IApplicationBuilder app, IHostingEnvironment env)
    {
        var wellKnownFolder = new DirectoryInfo(Path.Combine(env.ContentRootPath, ".well-known")).FullName;

        app.UseStaticFiles(new StaticFileOptions
        {
            FileProvider = new PhysicalFileProvider(wellKnownFolder),
            RequestPath = new PathString("/.well-known"),
            ServeUnknownFileTypes = true // serve extensionless file
        });

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