Enable HTTPS support with Apache
TIP: To quickly get started with HTTPS and SSL, follow these instructions to auto-configure a Let’s Encrypt SSL certificate.
NOTE: The steps below assume that you are using a custom domain name and that you have already configured the custom domain name to point to your cloud server.
Bitnami images come with SSL support already pre-configured and with a dummy certificate in place. Although this dummy certificate is fine for testing and development purposes, you will usually want to use a valid SSL certificate for production use. You can either generate this on your own (explained here) or you can purchase one from a commercial certificate authority.
IMPORTANT: For security reasons, never post or disclose your server’s SSL private key in a public forum.
Once you obtain the certificate and certificate key files, you will need to update your server to use them. Follow these steps to activate SSL support:
Use the table below to identify the correct locations for your certificate and configuration files.
Variable Value Current application URL https://[custom-domain]/ Example: https://my-domain.com/ or https://my-domain.com/appname Apache configuration file /opt/bitnami/apache2/conf/bitnami/bitnami.conf Certificate file /opt/bitnami/apache2/conf/server.crt Certificate key file /opt/bitnami/apache2/conf/server.key CA certificate bundle file (if present) /opt/bitnami/apache2/conf/server-ca.crt
Copy your SSL certificate and certificate key file to the specified locations.
NOTE: If you use different names for your certificate and key files, you should reconfigure the SSLCertificateFile and SSLCertificateKeyFile directives in the corresponding Apache configuration file to reflect the correct file names.
If your certificate authority has also provided you with a PEM-encoded Certificate Authority (CA) bundle, you must copy it to the correct location in the previous table. Then, modify the Apache configuration file to include the following line below the SSLCertificateKeyFile directive. Choose the correct directive based on your scenario and Apache version:
Variable Value Apache configuration file /opt/bitnami/apache2/conf/bitnami/bitnami.conf Directive to include (Apache v2.4.8+) SSLCACertificateFile “/opt/bitnami/apache2/conf/server-ca.crt” Directive to include (Apache < v2.4.8) SSLCertificateChainFile “/opt/bitnami/apache2/conf/server-ca.crt”
NOTE: If you use a different name for your CA certificate bundle, you should reconfigure the SSLCertificateChainFile or SSLCACertificateFile directives in the corresponding Apache configuration file to reflect the correct file name.
Once you have copied all the server certificate files, you may make them readable by the root user only with the following commands:
$ sudo chown root:root /opt/bitnami/apache2/conf/server* $ sudo chmod 600 /opt/bitnami/apache2/conf/server*
Open port 443 in the server firewall.
Restart the Apache server.
You should now be able to access your application using an HTTPS URL. In case of server startup errors, check the SSL certificate and key
Check out the following tutorials if you want to learn more about configuring HTTPS.