301使用MVC应用程序在Azure Cloud Service中从app.com重定向到www.app.com + always-https?

时间:2013-12-31 09:19:58

标签: asp.net redirect azure amazon-web-services dns

我有一个在Azure云服务中托管的MVC应用程序。我需要重定向所有请求:

分别。始终确保子域(或www),并始终强制执行https。我可以在应用程序级别执行此操作,例如global.asax,但这感觉不对。我目前正在使用亚马逊的Route53来处理我的DNS需求,但我不确定DNS是否也是这个问题的正确层。处理这个问题的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

HTTPS

鉴于它是MVC应用程序,您可以使用[RequireHttps]属性强制执行https。我个人通常都有一个基本控制器,我的所有其他控制器都继承了这个控制器,并且我将[RequireHttps]粘贴在该基本控制器上。
或者,将其注册为全局过滤器,如下所示:

protected void Application_Start()
{
    GlobalFilters.Filters.Add(new RequireHttpsAttribute());

    //... other stuff
}

(从https://stackoverflow.com/a/3285179/11534复制)

从裸露的网址重定向

至于从裸子域重定向到www,你可能想看看Url Rewriting,你可以在web.config中找到它。有关类似的示例,请参阅Redirect all naked domain urls to subdomain(www) urls preserving the url, except for one page on IIS/ASP.NET 我不得不承认我没有使用网址重写,所以也许其他人可以帮助提供更具体的细节,如何达到你的具体要求...