nativeInstallerlamp

Force HTTPS redirection with Apache

NOTE: The Approach A sections referred to below do not apply to Bitnami native installers. Users of Bitnami native installers should refer only to the Approach B sections.

TIP: To quickly get started with HTTPS and SSL using a Linux native installer, follow these instructions to auto-configure a Let’s Encrypt SSL certificate.

Approach A: Bitnami installations using system packages

Follow these steps:

  • Add the following lines in the default Apache virtual host configuration file at installdir/apache2/conf/bitnami/bitnami.conf, inside the default VirtualHost directive, so that it looks like this:

      <VirtualHost _default_:80>
        DocumentRoot "installdir/apache2/htdocs"
        RewriteEngine On
        RewriteCond %{HTTPS} !=on
        RewriteCond %{HTTP_HOST} !^(localhost|127.0.0.1)
        RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
        ...
      </VirtualHost>
    

    To redirect all HTTP requests to a particular domain, specify the domain name as a static value in the rewrite rule instead of using the SERVER_NAME variable. Here’s an example of redirecting all HTTP requests to https://example.com:

      <VirtualHost _default_:80>
        DocumentRoot "installdir/apache2/htdocs"
        RewriteEngine On
        RewriteCond %{HTTPS} !=on
        RewriteCond %{HTTP_HOST} !^(localhost|127.0.0.1)
        RewriteRule ^/(.*) https://example.com/$1 [R,L]
        ...
      </VirtualHost>
    
  • Add the same lines in the file at installdir/apache2/conf/bitnami/bitnami-ssl.conf.

  • Add the same lines in any file ending with the prefix -vhost.conf in the installdir/apache2/conf/vhosts/ directory.

Approach B: Self-contained Bitnami installations

Follow these steps:

  • Add the following lines in the default Apache virtual host configuration file at installdir/apache2/conf/bitnami/bitnami.conf, inside the default VirtualHost directive, so that it looks like this:

      <VirtualHost _default_:80>
        DocumentRoot "installdir/apache2/htdocs"
        RewriteEngine On
        RewriteCond %{HTTPS} !=on
        RewriteCond %{HTTP_HOST} !^(localhost|127.0.0.1)
        RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
        ...
      </VirtualHost>
    

    To redirect all HTTP requests to a particular domain, specify the domain name as a static value in the rewrite rule instead of using the SERVER_NAME variable. Here’s an example of redirecting all HTTP requests to https://example.com:

      <VirtualHost _default_:80>
        DocumentRoot "installdir/apache2/htdocs"
        RewriteEngine On
        RewriteCond %{HTTPS} !=on
        RewriteCond %{HTTP_HOST} !^(localhost|127.0.0.1)
        RewriteRule ^/(.*) https://example.com/$1 [R,L]
        ...
      </VirtualHost>
    
  • After modifying the Apache configuration files, open port 443 in the server firewall. Refer to the FAQ for Windows, Linux and macOS for more information.

  • Restart Apache to apply the changes.

Last modification June 16, 2021