SSL
By default, communication between Web Modeler and Identity and the Web Modeler components is not encrypted, as it usually happens backend-to-backend within the same Docker network or Kubernetes cluster. However, you can enable TLS-encrypted communication by following the steps below (for example, if backend-to-backend communication is not possible in a custom Camunda 8 installation setup).
Configuring secure connections to Identity
Configure the Identity base URL
Provide a URL that starts with https://
(e.g. https://identity.example.com
) as the base URL of the Identity instance:
- For the
modeler-webapp
container, provide the URL via the environment variableIDENTITY_BASE_URL
. - For the
modeler-restapi
container, provide the URL via the environment variableRESTAPI_IDENTITY_BASE_URL
.
Configuring secure connections between Web Modeler components
Configure restapi
SSL certificate
SSL can be configured declaratively by setting the respective properties offered by Spring Boot, e.g. (make sure that the provided certificate path is accessible from the container, e.g. via a mounted volume):
RESTAPI_SERVER_URL=https://web-modeler.example.com
SERVER_SSL_ENABLED=true
SERVER_SSL_CERTIFICATE=file:/full/path/to/certificate.pem
SERVER_SSL_CERTIFICATE_PRIVATE_KEY=file:/full/path/to/key.pem
Additionally, you can configure SSL separately for the management routes of the restapi
component:
MANAGEMENT_SERVER_SSL_ENABLED=true
MANAGEMENT_SERVER_SSL_CERTIFICATE=file:/full/path/to/certificate.pem
MANAGEMENT_SERVER_SSL_CERTIFICATE_PRIVATE_KEY=file:/full/path/to/key.pem
Refer to the Spring Boot documentation for more information on configuration options.
Use secure connections between the restapi
and websocket
components
To use secure connections between the restapi
and websocket
components, provide the following environment variable:
RESTAPI_PUSHER_SSL_ENABLED=true
Configure webapp
SSL certificate
To configure SSL for the webapp
component, provide the following environment variables (make sure that the provided certificate path is accessible from the container, e.g. via a mounted volume):
SERVER_URL=https://web-modeler.example.com
SSL_ENABLED=true
SSL_CERT=/full/path/to/certificate.pem
SSL_KEY=/full/path/to/key.pem
SSL_PASSPHRASE=your-passphrase
Additionally, you can configure SSL separately for the management routes of the webapp
component:
MANAGEMENT_SSL_ENABLED=true
MANAGEMENT_SSL_CERT=/full/path/to/certificate.pem
MANAGEMENT_SSL_KEY=/full/path/to/key.pem
MANAGEMENT_SSL_PASSPHRASE=your-passphrase
Use secure connections between the webapp
and restapi
components
To use secure connections between the webapp
and restapi
components, provide the following environment variable:
RESTAPI_SSL_ENABLED=true
RESTAPI_MANAGEMENT_SSL_ENABLED=true
Configure websocket
SSL certificate
SSL can be configured by setting the following environment variables (make sure that the provided certificate path is accessible from the container, e.g. via a mounted volume):
PUSHER_SSL_CERT=/full/path/to/certificate.pem
PUSHER_SSL_KEY=/full/path/to/key.pem
PUSHER_SSL_PASSPHRASE=your-passphrase
Currently, there is no option to configure SSL for the websocket
management routes separately from the application routes.
(Optional) Provide a custom certificate
If you are using a custom (self-signed) TLS certificate for either restapi
, webapp
or Identity, you need to make Web Modeler accept the certificate:
- For the
modeler-webapp
container, provide the path to the certificate file via the environment variableNODE_EXTRA_CA_CERTS
(make sure that the provided path is accessible from the container, e.g. via a mounted volume):NODE_EXTRA_CA_CERTS=/path/to/certificate.crt
- For the
modeler-restapi
container:- Add the certificate to a custom Java trust store (using the
keytool
utility). - Configure the trust store as described in the Zeebe connection troubleshooting guide.
- Add the certificate to a custom Java trust store (using the