0

我的错误日志文件中弹出一个奇怪的错误。我正在使用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] 属性的控制器主页操作索引。

任何指针将不胜感激。

4

1 回答 1

1

每当部署新版本时,AppHarbor 都会向您的站点发出这样的请求。这是预热过程的一部分,我认为这可能是您的问题的根源。

我们会想办法避免这种情况显示为您的错误。

于 2013-01-11T17:42:21.783 回答