Uploaded image for project: 'Felix'
  1. Felix
  2. FELIX-4908

X-Forward Header support when running behind a proxy/load balancer

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: http.jetty-3.1.0
    • Component/s: None
    • Labels:
      None

      Description

      It would be nice for Apache Felix (org.apache.felix.http.jetty) to support the standard set of X-Forwarded... type headers that are typically required when running behind a reverse proxy or load balancer (see [1] & [2]. Specifically:

      • X-Forwarded-For
      • X-Forwarded-Server
      • X-Forwarded-Port
      • -X-Forwarded-Proto- (already supported via FELIX-4330)

      so that HttpServletRequest getRemoteHost/getRemoteAddr getServerName, getServerPort, getScheme return the appropriate values that are forwarded by an Apache Proxy/Load balancer. Furthermore, the sendRedirect() method will need to be amended (to incorporate these values otherwise you will end up with a Tomcat bug like [4] & [5]).

      [1] http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#x-headers
      [2] http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/x-forwarded-headers.html
      [3] http://www.eclipse.org/jetty/documentation/current/configuring-connectors.html
      [4] https://bz.apache.org/bugzilla/show_bug.cgi?id=57856]
      [5] https://github.com/apache/tomcat/commit/4921e131879a1aa4a77db51ae2ac3a226176f619#diff-c0fdb9be1e84a34ac5b12a065d75b432

        Attachments

        1. FELIX-4908-patch.txt
          4 kB
          Antonio Sanso

          Issue Links

            Activity

              People

              • Assignee:
                cziegeler Carsten Ziegeler
                Reporter:
                mpetrovsky Martin Petrovsky
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: