使网站仅在HTTPS上运行

本文关键字:运行 HTTPS 网站 | 更新日期: 2023-09-27 18:27:38

我在asp.net中构建了一个同时运行HTTP和HTTPS的web应用程序。

我想让它只在HTTPS上运行。

任何一个知道它将涉及的变化的机构

我对此一无所知?

使网站仅在HTTPS上运行

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

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

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

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重定向的信息:

实现这一点的最简单方法是在IIS中。

在网站下选择"SSL设置",勾选"需要SSL"复选框,然后单击应用。

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

如果需要,也可以使用IIS URL重写模块来实现。