我的错误日志文件中弹出一个奇怪的错误。我正在使用RequireHttpsAttribute
来自 AppHarbor 的自定义:https ://gist.github.com/915869 。
我的家庭控制器上有这个属性,它工作正常,但我会说每天有 5-10 次请求失败,并出现以下错误:
The requested resource can only be accessed via SSL.
Stack Trace:
at System.Web.Mvc.RequireHttpsAttribute.HandleNonHttpsRequest(AuthorizationContext filterContext)
at Osmosis.RequireHttpsAttribute.OnAuthorization(AuthorizationContext filterContext) in d:\temp\bfzenor31c\input\prj\Infrastructure\Extensibility\RequireHttpsAttribute.cs:line 35
at System.Web.Mvc.ControllerActionInvoker.InvokeAuthorizationFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass25.<BeginInvokeAction>b__1e(AsyncCallback asyncCallback, Object asyncState
RequireHttpsAttribute 的第 35 行如下:
HandleNonHttpsRequest(filterContext);
因此,“X-Forwarded-Proto”请求标头中未提供“https”。但是由于我不明白的原因,重定向到 https 失败了。
这是请求的 url:http://www.mydomain.com:14685/,具有 [RequireHttps] 属性的控制器主页操作索引。
任何指针将不胜感激。