IBM Softlayer(云负载平衡器+ SSL卸载)ASP.NET重定向过多

时间:2018-07-11 22:20:33

标签: asp.net iis

我有一个运行时间较长的ASP.NET Web应用程序。

我已经将它连接到使用单个服务器配置(IIS)的IBM Cloud Load Balancer了几个星期,并且能够很好地连接到应用程序。

当我在负载均衡器配置中添加第二台(IIS)服务器时,该站点出现“重定向过多”的错误。

我对问题的研究表明,负载均衡器需要传递标头X-Forwarded-Proto,并且我需要向web.config添加重写规则。

<system.webServer>
 <rewrite>
      <rules>
        <rule name="HTTPS rewrite behind ELB rule" stopProcessing="true">
          <match url="^(.*)$" ignoreCase="false" />
          <conditions>
            <add input="{HTTP_X_FORWARDED_PROTO}" pattern="^http$" ignoreCase="false" />
          </conditions>
          <action type="Redirect" redirectType="Found" url="https://{SERVER_NAME}{URL}" />
        </rule>
      </rules>
    </rewrite>
</system.webServer>

我已经获得了IBM的支持-谁像以往一样无济于事。他们只是暗示他们的IBM Cloud Load Balancer不支持X-Forwarded-Proto标头,我每月需要在Netscaler上花费超过1K。

问题1。IBM的回应对我来说听起来并不正确,有人知道吗?

问题2。ASP.NET中是否有编程的方法来解决此问题,即在负载均衡器的前面安装SSL Offload,并且不使用X-Forwarded-Proto标头?

预先感谢

1 个答案:

答案 0 :(得分:0)

不幸的是,如果前LB不告诉您原始协议,则无法提供任何支持。 我目前也在使用IBM Cloud,有时这种情况很糟糕。