googleelk

Force HTTPS redirection with Apache

TIP: To quickly get started with HTTPS and SSL, follow these instructions to auto-configure a Let’s Encrypt SSL certificate. You can also use our interactive training scenario to learn how to enable HTTPS support in Apache with Let’s Encrypt or a custom SSL certificate.

Follow these steps:

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

    <VirtualHost _default_:80>
      DocumentRoot "/opt/bitnami/apache2/htdocs"
      RewriteEngine On
      RewriteCond %{HTTPS} !=on
      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 "/opt/bitnami/apache2/htdocs"
      RewriteEngine On
      RewriteCond %{HTTPS} !=on
      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 more information.

  • Restart Apache to apply the changes.