使网站仅在HTTPS上运行
本文关键字:运行 HTTPS 网站 | 更新日期: 2023-09-27 18:27:38
我在asp.net中构建了一个同时运行HTTP和HTTPS的web应用程序。
我想让它只在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重写模块来实现。