在Appharbor上强制HTTPS

时间:2015-04-18 18:11:14

标签: c# asp.net asp.net-mvc https appharbor

相关问题:here - here

我在appharbor上部署了一个ASP.NET应用程序。手动导航到其https:// url工作正常,但我想使用HTTPS。也就是说,如果我收到HTTP请求,请重定向到HTTPS。

有两种方法可以实现这一点,我知道:(1)使用web.config,由于X-Forwarded-Proto标头被appharbor上的负载均衡器剥离而无法正常工作(?)或(2)制作自定义httpattribute,如here

所示

不幸的是,这两种方法都不适合我 - 两者都给我一个重定向循环:(。我能找到的所有答案都相当陈旧,在appharbor / asp.net上有什么改变我应该知道吗?

提前致谢。

1 个答案:

答案 0 :(得分:2)

您是否在应用程序中使用MVC?该属性是为它准备的。

如果它只是普通的ASP.NET,您可以使用HTTP ModulesGlobal.asax来达到同样的效果。

RequireHttpsAttribute by Rune应该有效。我在AppHarbor上使用ServiceStack,但是基于Rune的代码使用的属性。它今天仍在使用。

AppHb的负载均衡器将设置X-Forwarded-Proto标头以匹配传入协议方案(http或https),因为来自负载均衡器的流量会转发到应用程序的IIS实例作为HTTP(因此原始方案丢失)。