I have this in a Startup.cs file for a small project for a webserver hosting static files with Kestrel:
public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.Configure<MvcOptions>(options =>
        {
            options.Filters.Add(new RequireHttpsAttribute());
        });
    }
    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
    {
        var configBuilder = new ConfigurationBuilder()
            .SetBasePath(Directory.GetCurrentDirectory())
            .AddJsonFile("config.json");
        var config = configBuilder.Build();
        var options = new RewriteOptions()
           .AddRedirectToHttps();
        app.UseRewriter(options);
        DefaultFilesOptions defoptions = new DefaultFilesOptions();
        defoptions.DefaultFileNames.Clear();
        defoptions.DefaultFileNames.Add("index.html");
        app.UseDefaultFiles(defoptions);
        app.UseStaticFiles();
        app.UseStaticFiles(new StaticFileOptions()
        {
            FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), @"static")),
            RequestPath = new PathString("")
        });
        loggerFactory.AddConsole(config.GetSection(key: "Logging"));
    }
}
However, it doesn't try to load an index.html or anything. If I access it manually, it does indeed work.
Any ideas?
Thanks