AppHarbor的應用程序位於NGINX負載均衡器的後面。因此,所有打到客戶端應用程序的請求都將通過HTTP進行處理,因爲SSL將由此前端處理。AppHarbor的反向代理導致SSL和app.UseOAuthBearerTokens問題ASP.NET MVC 5
ASP.NET MVC的OAuth 2 OAuthAuthorizationServerOptions有選項來限制對令牌請求的訪問,以僅使用HTTPS。問題是,與Controller或ApiController不同,當我指定AllowInsecureHttp = false時,我不知道如何允許這些轉發的請求通過。
具體而言,在應用程序啓動/配置:
app.UseOAuthBearerTokens(new OAuthAuthorizationServerOptions {
AllowInsecureHttp = true,
});
需要以某種方式做這種檢查在內部,如果這是真的,把它作爲SSL:
HttpContext.Request.Headers["X-Forwarded-Proto"] == "https"
下面是我如何做到這一點使用MVC控制器的應用自定義過濾器屬性: https://gist.github.com/runesoerensen/915869
地獄是的!這正是我正在尋找的。我沒有意識到這個請求是一個可變的東西。這感覺更多NodeJSy。奧利快樂。 –
謝謝appharbor。你們好棒。 –
真棒,很高興幫助! :-) – runesoerensen