我现在在dotnet核心创建了一个网站。该网站现场直播,并在azure中托管。我已经设置了ssl sertificate,并将其绑定到网站。
在web.config或启动中我有什么办法让ssl工作吗?
我无法使用https查看该网站。我必须在启动时重定向吗?
以下是我最终的结果:
在startup.cs中,configure()
app.Use(async (context, next) =>
{
if (context.Request.IsHttps)
{
await next();
}
else
{
var withHttps = "https://" + context.Request.Host + context.Request.Path;
context.Response.Redirect(withHttps);
}
});
答案 0 :(得分:6)
在启动时,您可以将整个网站配置为需要https,如下所示:
EDITED:展示如何在生产中仅要求https,但请注意您可以在开发中轻松使用https
public Startup(IHostingEnvironment env)
{
...
environment = env;
}
public IHostingEnvironment environment { get; set; }
public void ConfigureServices(IServiceCollection services)
{
...
services.Configure<MvcOptions>(options =>
{
if(environment.IsProduction())
{
options.Filters.Add(new RequireHttpsAttribute());
}
});
}
答案 1 :(得分:1)
随着发布Asp NET Core 1.0.0更新您的Startup类:
public void ConfigureServices(IServiceCollection services)
{
// ...
services.AddMvc();
services.Configure<MvcOptions>(options =>
{
options.Filters.Add(new RequireHttpsAttribute());
});
// ...
}