【问题标题】:F5 load balancer with Apache web and Tomcat SSL Issue具有 Apache Web 和 Tomcat SSL 问题的 F5 负载均衡器
【发布时间】:2016-02-10 22:51:36
【问题描述】:

我们在 Tomcat 服务器(集群)上托管了一个 Web 应用程序,两个 Apache Web 服务器位于前面,F5 负载平衡 5 在 apache 前面。 SSL 在 F5 负载平衡器中配置。现在,每当有人使用负载均衡器的安全 URL 访问我们的应用程序时,我们的 Java Web 应用程序都不会评估 request.isSecure 是否为真。是否需要进行任何设置才能启用此功能。

在我们的 apache Web 服务器中,我们使用代理平衡器进行以下配置

ServerName ip:80

ProxyPass /balancer-manager !
ProxyPass / balancer://mycluster/ stickysession=JSESSIONID nofailover=Off
ProxyPassReverse / balancer://mycluster/
<Proxy balancer://mycluster>
          BalancerMember ajp://ipapp1:8009 route=jvm1 loadfactor=1
          BalancerMember ajp://ipapp2:8009 route=jvm2 loadfactor=1 status=+H
          ProxySet lbmethod=byrequests
</Proxy>

我尝试通过为 8080 添加 scheme= "https", secure="true" 和 proxyPort="443" 来更改 tomcat 的 server.xml 中的连接器详细信息,但它不起作用。

我在这里错过了什么?

【问题讨论】:

  • 如果您要在 BIG-IP 上终止 SSL,为什么要尝试在其后面的 Web 服务器上验证加密?您正在发送一个未加密的连接,因此它应该被验证为不安全。如果您不担心性能,请桥接 SSL 连接并使用从 BIG-IP 到 Web 服务器的服务器 SSL 配置文件重新加密以满足此要求。否则,您将需要在 BIG-IP 中编写某种 iRule,以通知 Web 服务器该连接先前已加密,并让您的应用程序验证该字符串。
  • 实际上我们使用 openSAML 进行 SSO。我们收到“saml 端点 url 不匹配错误”,因为端点 url 具有 https,并且在应用程序服务器(tomcat)中,当我们尝试获取请求协议时,显然我们正在获取 http,因为 https 在负载均衡器处终止。所以试图探索关于如何让tomcat知道使用https的选项。

标签: apache tomcat ssl f5


【解决方案1】:

您需要检查您的应用程序是否受支持,但通常会转发标头以传达请求协议。传统上这是 X-Forwarded-Proto 标头,但 X-... 命名法已被弃用。 Forwarded 标头现在在一个标头中支持 X-Forwarded-For、X-Forwarded-Proto 等。然而,仍然广泛支持已弃用的方法,因此任何一种方法都应该在等待应用支持时工作。

X-Forwarded-Proto: https

Forwarded: proto=https

RFC 7239中描述了新标准

【讨论】:

    【解决方案2】:

    也许我来晚了,但我也遇到了同样的情况。我加了

    scheme="https"、secure="true" 和 proxyPort="443"

    port 8009 上,而不是像原来的问题那样在端口 8080 上。这是因为来自 Apache 的请求是通过端口 8009 上的 AJP 发出的。 此外,Apache 必须从 http.conf 启用 http-ssl.conf,并且它必须侦听端口 443。

    我尝试了这个配置,它成功了,通过 Apache 前面的负载均衡器发送的请求正确地报告了 https 中的 tomcat webapp。

    我希望这对有同样问题的人有所帮助,我花了好几天才明白这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-12
      • 2019-04-29
      • 1970-01-01
      相关资源
      最近更新 更多