如何在 asp.net c# 中从 http 重定向到 https 我已经安装了 https 证书现在我想使用 windows server 2008 R2 asp.net C# 4.0 将 https 作为我的网站 iam 的默认版本
问问题
11616 次
2 回答
15
您是否正在寻找这样的东西:-
if (!Request.IsLocal && !Request.IsSecureConnection)
{
string sUrl = Request.Url.ToString().Replace("http:", "https:");
Response.Redirect(sUrl);
}
另请查看此相关论坛。
从上面的链接: -
您可以安装 URL Rewrite Module
,创建重定向规则并将其放入您的web.config
文件
<rule name="http to https" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:0}" />
</rule>
于 2013-10-20T06:10:16.603 回答
12
比上面提到的更清洁/更简单的方法是使用包中的RequireHttpsAttribute
类System.Web.Mvc
。
只需通过将属性添加到FilterConfig.RegisterGlobalFilters()
内部调用的方法来注册属性,Global.asax.cs
如下所示:
过滤器配置文件
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new RequireHttpsAttribute());
}
}
这将在所有控制器类中注册该RequireHttps
属性,如果它还没有这样做,则强制它重定向到 HTTPS。
注意:这仅适用于 ASP.NET MVC,不适用于 WebAPI。
于 2013-11-01T10:58:35.330 回答