在Visual Studio 2015中,当我们选择MVC6 Web应用程序时,属性窗口不包含 SSL Enabled 属性。
那么在SSL中运行MVC6应用程序的正确方法是什么?
由于我们可以使用空的MVC 6应用程序创建纯Html + JavaScript站点,我们是否可以在不使用仅包含MVC的RequireHttpsAttribute
的情况下启用SSL?
答案 0 :(得分:1)
在您的Startup.cs文件options.Filters.Add(new RequireHttpsAttribute());
public class Startup
{
public IConfiguration Configuration { get; set; }
public Startup(IHostingEnvironment env, IApplicationEnvironment appEnv)
{
.......
}
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.Configure<MvcOptions>(options =>
{
.....
options.Filters.Add(new RequireHttpsAttribute());
});
}
public void Configure(IApplicationBuilder app)
{
app.UseMvc(routes =>
{
routes.MapRoute(
"default",
"{controller)/{action}",
new { controller = "Home", action = "Index" }
);
});
}
}
答案 1 :(得分:0)
如果您的Web服务器设置了证书和正确的绑定,并且防火墙配置正确,则无需在HTML / JavaScript端启用SSL。
如果您询问如何自动重定向到HTTPS,可以使用JavaScript完成。将这样的内容放在每页顶部引用的JavaScript文件中。
if (window.location.protocol.toLowerCase() != "https:") {
window.location.href = "https:" + window.location.href.substring(window.location.protocol.length);
}