Custom client proxies - Fluid Topics

Fluid Topics Integration Guide

Category
Reference Guides
Audience
public
Version
Latest

This section provides a proxy server configuration example to use a specific domain name and path to access a Fluid Topics portal using the Apache web server.

It includes a proxy definition for:

  • https://proxy-portal/ to https://institutional-portal/
  • https://proxy-portal/path to https://documentation-portal/

Every request should include the following request headers:

  • X-Forwarded-Proto: https
  • X-Forwarded-Host: proxy-portal
  • FT-Forwarded-Path: /path
<VirtualHost *:443>
    ServerName proxy-portal

    # (4)
    SSLEngine on
    SSLCertificateFile "/path/to/cert.pem"
    SSLCertificateKeyFile "/path/to/key.pem"

    # (5)
    SSLProxyEngine on

    # (3)
    RequestHeader set X-Forwarded-Proto "https"
    RequestHeader set X-Forwarded-Host "proxy-portal"

    # (1)
    <Location "/">
        ProxyPass "https://institutional-portal/"
        ProxyPassReverse "https://institutional-portal/"
    </Location>

    # (2)
    <Location "/path">
        ProxyPass "https://documentation-portal/"
        ProxyPassReverse "https://documentation-portal/"

        RequestHeader set FT-Forwarded-Path "/path"
    </Location>
</VirtualHost>
  • (1) This virtual host allows requests to a proxy domain to be forwarded to a given domain.

  • (2) This virtual host configuration allows requests sent to a specific path (https://proxy-portal/path) to be forwarded to a Fluid Topics server available at https://documentation-portal/.

  • (3) Apache automatically forwards client details using the X-Forwarded-* headers. If this does not occur, it is necessary to explicitly add these headers. The proxied base domain needs the required headers to ensure proper functioning of the Fluid Topics server.

  • (4) The use of SSL for the Fluid Topics web application is mandatory. It is possible to implement SSL configuration at the virtual host level, as shown in the example. It is also possible to manage SSL configuration at the load balancer level through SSL offloading.

  • (5) The SSLProxyEngine directive may be required to proxy a domain that is exposed with HTTPS enabled.
  • To ensure optimal performance, configure the proxy server to accept the following headers: Accept, Accept-Encoding, Cookies.

For a list of basic headers see HTTP headers.