If you wish to assign a valid certificate to 3CX this guide can show you how you can achieve this in a few easy steps.
Prerequisites
- Debian with SSH enabled and sudo permissions
- 3CX PBX
- Valid certificates in pem, crt & key file format
- Winscp or another SSH copy tool
- Putty
How to
Update 2025-06-15 : Discovered that the latest 3CX version requires a specific name for your certificate and private key in the nginx.conf file!
e.g. domain_cert_YourFQDN.pem and domain_key_YourFQDN.pem
Updated the document below to reflect this change.
- Open WinSCP and connect to your 3CX PBX
- Upload your certs (domain_cert_YourFQDN.pem and domain_key_YourFQDN.pem) in PEM format to your home folder (or convert them openssl from PFX to PEMs)
- Logon to your 3CX PBX server via SSH
- Copy your certs to the 3CX instance:
sudo cp /certLocation/domain_cert_YourFQDN.pem /var/lib/3cxpbx/Bin/nginx/conf/Instance1/domain_cert_YourFQDN.pem
sudo cp /certLocation/domain_key_YourFQDN.pem /var/lib/3cxpbx/Bin/nginx/conf/Instance1/domain_key_YourFQDN.pem - Edit the following lines with your certificate file and key
ssl_certificate /var/lib/3cxpbx/Bin/nginx/conf/Instance1/domain_cert_YourFQDN.pem;
ssl_certificate_key /var/lib/3cxpbx/Bin/nginx/conf/Instance1/domain_key_YourFQDN.pem; - Restart the nginx service (or reboot your server)
sudo systemctl restart nginx