Configure Cells with a reverse-proxy
Reverse proxies are one of the most common way to secure your web servers, they can hide the IP of your App server, be the main gateway to your private (virtual) network, serve as TLS Termination point and expose your public certificates, etc.
For basic usage (Web UX, REST API's, Mobile Applications), a simple HTTPS reverse-proxy is fairly easy to set up. However, you must also add the URL on the authorized list on Cells (which corresponds to the External URL setting).
Run the following command, select the used active bind and add the reverse-proxy URL in the External URL field:
./cells configure sites
Select your used configuration and add the URL that is going to be used to access through the reverse-proxy as the external URL.
Warning: if you intend to use CellsSync client together with your server instance, you cannot use TLS Offloading on your reverse proxy. The communication between the sync client and the server is done via gRPC on HTTP/2 and this will not work if you drop from HTTPS to HTTP between your reverse proxy and your Cells instance. Furthermore, note that your proxy has to support this protocol.
Tutorials
In our knowledge base we have a growing number of comprehensive guides to setup various proxies with Cells:
- Running Cells behind Apache2 proxy
- Reverse proxy with Caddy
- Reverse proxy with Nginx
- Docker and Traefik
- Reverse proxy with a Apache your Docker instance