使网站仅在HTTPS上运行

时间:2015-12-21 11:59:56

标签: c# asp.net https web

我在asp.net中构建了一个Web应用程序,它可以在HTTP和HTTPS上运行。

我想让它只在HTTPS上运行。

任何知道改变它的人都会知道

我不知道这个?

4 个答案:

答案 0 :(得分:1)

在您的网络服务器中,只需将HTTP网址重定向到相应的HTTPS网址即可。请检查http://www.jppinto.com/2010/03/automatically-redirect-http-requests-to-https-on-iis7-using-url-rewrite-2-0/

答案 1 :(得分:1)

您可以在Global.asax.cs文件中添加该代码

protected void Application_BeginRequest()
{
  if (FormsAuthentication.RequireSSL && !Request.IsSecureConnection)
  {
    Response.Redirect(Request.Url.AbsoluteUri.Replace("http://", "https://"));
  }
}

答案 2 :(得分:1)

Global.asax.cs中添加此代码。考虑Request.IsLocal进行本地开发。

protected void Application_BeginRequest(object sender, EventArgs e)
{
    HttpContext context = HttpContext.Current;
    if (!context.Request.IsSecureConnection && !context.Request.IsLocal)
    {
        Response.Redirect(context.Request.Url.ToString().Replace("http:", "https:"));
    }
}

详细了解www,而非www重定向herehere

答案 3 :(得分:0)

最简单的方法是在IIS中。

在网站下选择“SSL设置”'并勾选“要求SSL'复选框,然后单击“应用”。

这种方法的好处是它更安全(代码中没有错误允许非SSL请求),并且实现起来更容易,更快捷。缺点是对HTTP URL的请求不会自动重定向,但您没有说明这是一项要求。

如果是必需的,也可以使用IIS URL Rewrite模块实现此目的。