Skip to content

HTTPS

Overview

It is possible to enable HTTPS browsing on the RecoveryBox. This secures exchanges between the browser and the web server by encrypting transmitted data.

HTTPS uses an SSL/TLS certificate to establish a secure connection. This certificate must be approved by an external authority (CA) and renewed regularly to be considered valid by web browsers. The very principle of RecoveryBox operating offline prevents automatic SSL/TLS certificate renewal. RecoveryBox therefore uses a self-signed certificate for HTTPS. This enables HTTPS but web browsers will display a security warning indicating the certificate is not approved by an external authority. This warning will only appear on the first connection to the web server.

Warning

The error message on the first connection to RecoveryBox services is normal and must not be considered a security issue.

When HTTPS is enabled, all HTTP connections are automatically redirected to HTTPS.

Meshtastic

LoRa devices based on ESP32 chips do not support HTTPS. To keep compatibility with these devices, HTTPS is always disabled on this service.

Enabling HTTPS

HTTPS is enabled during installation/update via the Ansible variable recoverybox_enable_https. It can be enabled or disabled at any time by modifying this variable in /etc/recoverybox/custom_config.yml and re-running the installation script.

Customizing the SSL/TLS certificate

You can set up your own SSL/TLS certificate for HTTPS. To do so, place the certificate and private key files in the /etc/ssl/recoverybox/ directory with the names recoverybox.crt and recoverybox.key.