Хорошо, поэтому я хочу принудительно установить https / ssl на части моего сайта ASP.NET MVC. Здесь вы найдете множество отличных источников, включая ActionFilter: http://blog.tylergarlick.com/index.php/2009/07/mvc-redirect-to-http-and-https/
Всякий раз, когда я включаю ActionFilter, я оказываюсь в цикле перенаправления. Проблема в том, что если я наберу https : //www.mysite.com/ в адресную строку, то request.url всегда будет равен http : //www.mysite.com /.
Код для фильтра действий приведен ниже, и, насколько мне известно, я не делаю переписывания, перенаправления, пользовательской маршрутизации или изменения URL-адреса за пределы стандартной настройки. Существуют ли общие / необычные причины, по которым это может происходить, и / или какие-либо обходные пути или исправления? В настоящее время сайт размещен в NetworkSolutions. Есть ли вероятность, что он связан с конфигурацией IIS? Любая помощь будет высоко ценится.
public class RedirectToHttps : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
// Helpers just so I don’t have to type so much
var request = filterContext.HttpContext.Request;
var response = filterContext.HttpContext.Response;
// Make sure we’re in https or local
if (!request.IsSecureConnection && !request.IsLocal)
{
string redirectUrl = request.Url.ToString().Replace("http:", "https:");
response.Redirect(redirectUrl);
}
base.OnActionExecuting(filterContext);
}
}