asp.net-mvc - AppHarbor 上的错误请求的资源只能通过 SSL 访问

标签 asp.net-mvc ssl appharbor

我的错误日志文件中弹出一个奇怪的错误。我正在使用来自 AppHarbor 的自定义 RequireHttpsAttribute:https://gist.github.com/915869 .

我的家庭 Controller 上有这个属性,它工作正常,但我会说每天有 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”请求 header 中未提供“https”。但是由于我不明白的原因,重定向到 https 失败了。

这是请求的 url:http://www.mydomain.com:14685/ ,具有 [RequireHttps] 属性的 Controller 主页操作索引。

如有任何指点,我们将不胜感激。

最佳答案

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

我们会想办法避免这对您显示为错误。

关于asp.net-mvc - AppHarbor 上的错误请求的资源只能通过 SSL 访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14278811/

相关文章:

asp.net-mvc - 如何设置 MVC 可移植区域以使用复杂目录结构中的资源?

php - 使用 xmlhttprequest 加密发送的 url 参数

c# - AppHarbor MassTransit CloudAMQP 持续消耗 1,9kB/s

msbuild - Appharbor 无法发布 asp.net mvc 4 应用程序

c# - 使用@Json.Encode 时隐藏模型中的字段

asp.net-mvc - 将 Ninject 与 Membership.Provider 一起使用

asp.net-mvc - 如何将参数传递给 Html.BeginForm(action, controller)

php - 现在切换到 SSL PHP session 需要两次尝试

ssl - 如何使用 BrowserMob 代理拦截 SSL 请求

asp.net-mvc-4 - AppHarbor 上的 Twilio.MVC ValidateRequest