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/
tohttps://institutional-portal/
https://proxy-portal/path
tohttps://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 athttps://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.