我在asp.net中构建了一个Web应用程序,它可以在HTTP和HTTPS上运行。
我想让它只在HTTPS上运行。
任何知道改变它的人都会知道
我不知道这个?
答案 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:"));
}
}
答案 3 :(得分:0)
最简单的方法是在IIS中。
在网站下选择“SSL设置”'并勾选“要求SSL'复选框,然后单击“应用”。
这种方法的好处是它更安全(代码中没有错误允许非SSL请求),并且实现起来更容易,更快捷。缺点是对HTTP URL的请求不会自动重定向,但您没有说明这是一项要求。
如果是必需的,也可以使用IIS URL Rewrite模块实现此目的。