我们有一个ASP.Net MVC3网站,只能通过HTTPS访问,使用控制器上的RequireHTTPS属性。
我们收到了大量HTTP HEAD方法请求,主要来自似乎是Twitter机器人。默认的ASP.Net/MVC3响应是“500内部服务器错误”,并且被elmah和log4net捕获/记录(现在已被过滤掉!)。
我可以编写一个特定的控制器和路由来处理这些非HTTPS请求,就像这个问题中所述 - Responding to HEAD Request in asp.NET MVC 3。
但是,从机器人的角度来看,什么是最好的响应?200表示服务器正在运行,302重定向到HTTPS网址,还是保持500,因为该网站无法通过HTTP访问?
我们收到了大量HTTP HEAD方法请求,主要来自似乎是Twitter机器人。默认的ASP.Net/MVC3响应是“500内部服务器错误”,并且被elmah和log4net捕获/记录(现在已被过滤掉!)。
我可以编写一个特定的控制器和路由来处理这些非HTTPS请求,就像这个问题中所述 - Responding to HEAD Request in asp.NET MVC 3。
但是,从机器人的角度来看,什么是最好的响应?200表示服务器正在运行,302重定向到HTTPS网址,还是保持500,因为该网站无法通过HTTP访问?
System.InvalidOperationException: The requested resource can only be accessed via SSL. at System.Web.Mvc.RequireHttpsAttribute.HandleNonHttpsRequest(AuthorizationContext filterContext) at System.Web.Mvc.RequireHttpsAttribute.OnAuthorization(AuthorizationContext filterContext) at System.Web.Mvc.ControllerActionInvoker.InvokeAuthorizationFilters(ControllerContext controllerContext, IList
1 filters, ActionDescriptor actionDescriptor)` - Chris