Reverse Proxy
A reverse proxy is used to forward specific requests to Customer Collaboration Platform. During proxying, request headers are altered so that the proxied server has enough original request information to correctly create the served content (for example, so that links reference the proxy host and not the Customer Collaboration Platform server). http or https may be used at the proxy server and requests may be forwarded to Customer Collaboration Platform using either http or https.
The customer chat interface and URL redirect interfaces are supported for reverse proxying.
Customer Collaboration Platform recognizes the following reverse proxy headers:
Header | Required? | Comments |
---|---|---|
X-Forwarded-Host |
Y |
Includes the proxy host name as visible to the user. May also include a port in the form <server name>:<port> |
X-Forwarded-Proto |
N |
If present, determines the protocol of generated links. Defaults to http unless the proxy port is determined to be 443, in which case it will be https. Overrides Front-End-https and X-Forwarded-https values when present. |
X-Forwarded-Port |
N |
If present, is returned by subsequent calls to Request.getServerPort(). If this header is present and a port is provided in X-Forwarded-Host, this value is overridden by the X-Forwarded-Host value. |
Front-End-https |
N |
If present and value is "on", returned links will use https. It overrides X-Forwarded-https when present. |
X-Forwarded-https |
N |
If present and value is "on", returned links will use https. |
Note | For Apache users, by default Apache will not indicate when SSL was used to reach the proxy server. In order for Customer Collaboration Platform links to be correctly formatted when SSL is being used between the user browser and the Apache reverse proxy, you must add a request header to proxied requests to tell Customer Collaboration Platform to use https. You can do this by adding the following to your server configuration:
|