Enable Native SSL/TLS for Pulse Web UI
You can enable SSL/TLS support for the Pulse Web UI without using the AD Proxy (Traefik) container.
This configuration allows users to access the Pulse Web UI directly over HTTPS through the Pulse UI container.
Info
The ad-graphql (OLD Pulse UI) has been deprecated and has been replaced by ad-pulse-ui (NEW Pulse UI) starting from version 4.0.x and above.
SSL Configuration Variables
The Pulse UI SSL/TLS behavior is controlled through environment variables defined in the ad-core.yml configuration file under the ad-pulse-ui service.
Configuration File Location
$AcceloHome/config/docker/ad-core.yml
Configuration Section
ad-pulse-ui:
environment:
- SSL_ENFORCED=false
- SSL_ENABLED=false
- SSL_KEYDIR=/etc/acceldata/ssl/
- SSL_KEYFILE=ssl.key
- SSL_CERTDIR=/etc/acceldata/ssl/
- SSL_CERTFILE=ssl.crt
- SSL_PASSPHRASE=""
Configure these variables to enable HTTPS and specify the SSL certificate and key files used by the Pulse Web UI.
Variable Name | Default Value | Mandatory | Description |
SSL_ENFORCED | false | Yes | Enforces HTTPS for the UI port inside the container. When set to true, the HTTP port is disabled. |
SSL_ENABLED | false | Yes | Enables HTTPS for the UI port inside the container. When SSL_ENFORCED=false, both HTTP and HTTPS can be used. |
SSL_KEYDIR | /etc/acceldata/ssl/ | No | Directory inside the container where the SSL/TLS key file is located. |
SSL_KEYFILE | ssl.key | No | Name of the SSL/TLS key file. |
SSL_CERTDIR | /etc/acceldata/ssl/ | No | Directory inside the container where the SSL/TLS certificate file is located. |
SSL_CERTFILE | ssl.crt | No | Name of the SSL/TLS certificate file. |
SSL_PASSPHRASE | Empty | No | Passphrase for the SSL/TLS key file, if applicable. |
Before You Begin
Obtain the SSL certificate and private key files required for HTTPS access.
Copy the files to:
$AcceloHome/config/proxy/certs
Rename the files exactly as:
ssl.crt
ssl.key
Ensure both files are readable by all Linux users:
chmod 0644 $AcceloHome/config/proxy/certs/ssl.crt
chmod 0644 $AcceloHome/config/proxy/certs/ssl.key
Configure SSL/TLS
Step 1: Verify the Configuration File
ls -lha $AcceloHome/config/docker/ad-core.yml
If the file does not exist, generate it:
accelo admin makeconfig ad-core
Step 2: Configure SSL Environment Variables
Open ad-core.yml and locate the ad-pulse-ui section.
To enable HTTPS only:
- SSL_ENFORCED=true
- SSL_ENABLED=true
With this configuration:
- HTTPS is enabled.
- HTTP access is disabled.
- Users can access the Pulse Web UI only through HTTPS.
To enable both HTTP and HTTPS:
- SSL_ENFORCED=false
- SSL_ENABLED=true
With this configuration:
- HTTPS is enabled.
- HTTP remains enabled.
- Users can access the Pulse Web UI using either HTTP or HTTPS.
Step 3: Mount the Certificate Directory
Add the SSL certificate directory to the volumes section:
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/hosts:/etc/hosts:ro
- ./work/license:/etc/acceldata/license:ro
- ./config/proxy/certs:/etc/acceldata/ssl
Step 4: Configure Network Ports
Enable both HTTP and HTTPS:
ports:
- 4000:4000
- 4001:4001
- Port 4000 = HTTPS
- Port 4001 = HTTP
Example of exposing HTTPS on a different host port:
ports:
- 80:4000
Step 5: Save the Configuration
Save and close the ad-core.yml file.
Step 6: Restart the Pulse UI Service
accelo restart ad-pulse-ui
Verify the Configuration
Check Container Logs
docker logs -f ad-pulse-ui_default
Verify Port Exposure
docker ps -a | grep ad-pulse-ui_default
Access Pulse Using HTTPS
https://<hostname>:<https-port>
Example:
https://pulse.example.com:4000
Result
If the Pulse UI container starts successfully, no SSL-related errors appear in the logs, and the configured HTTPS port is accessible, SSL/TLS has been successfully enabled for the Pulse Web UI.
For details on updating and using the SSL options, see Update the SSL Options for UI.
