我正在寻找一种方式来告诉IIS 6,即使http发出请求,它也可以被认为是https。
HTTPS在请求到达应用程序服务器之前进行pipe理。 在Tomcat中,我们使用RemoteIpValve和http头部X-Forwarded-Proto告诉Tomcat连接是否安全。
有没有办法在IIS中做到这一点? Isapifilter可以解决吗?
谢谢你的所有提示。
[编辑:]更确切地说:架构如下,为我们的tomcat:
USER | LoadBalancer (KeepAlived) | | | '- Apache (SSL) | HaProxy | | Tomcat
当用户在tomcat上发出https请求时,请求会通过解码https的Apache(Apache添加X-Forwarded-Proto: https头)。 然后通过HaProxy(Http LoadBalancer)将请求redirect到Tomcat。
我希望它更清楚一点。
PS:请原谅我的英语,我不够练习。
例如,对于IIS7,应用程序请求路由(ARR)+ ARR Helper通过像使用Tomcat一样添加x-header来执行此操作。
您需要一个ISAPI筛选器将x-header重写回IIS6框上的原始标题值。 微软没有用于重写头文件的IIS6解决scheme,但是你可以看到BigIP客户端是否会为你做,或者自己写。
IIS7已经有了原生解决scheme,所以如果您需要在开发自己的ISAPI筛选器(不是一件简单的任务)或升级之间作出select,这可能是一个考虑升级您的环境的机会。