How to configure SSL

Hi,

How to secure or configure Metabase URL with SSL, so that the URL served with the HTTPS requests.

Hi @sachinjmv
You can do it with a reverse-proxy, which is recommended, since it's easier to integrate LetsEncrypt or custom certificates:
https://www.metabase.com/docs/latest/operations-guide/running-metabase-on-debian.html
Or via the internal webserver:
https://www.metabase.com/docs/latest/operations-guide/customizing-jetty-webserver.html#using-https-with-metabase

Hi,
Thanks for the reply.
From where we can download the SSL cert and SSL key?

@sachinjmv Certificates are something you create, buy or generate via a free service like Let's Encrypt:
https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-18-04

  1. Obtain SSL Certificate:
    Acquire an SSL certificate from a trusted Certificate Authority (CA) or purchase SSL Certificate one from a commercial provider.
    Make sure the certificate includes the domain or subdomain used for Metabase.

  2. Install Certbot:
    Install Certbot on your server. You can find installation instructions on the Certbot website.

  3. Stop Metabase:
    Temporarily stop your Metabase instance to make changes.

  4. Configure Metabase with SSL:
    Open the Metabase configuration file. For example, it might be located at /etc/metabase/metabase.config.

Find the :jetty section and update the :ssl? property to true.

Specify the paths to the SSL certificate and private key files:

:jetty {:ssl? true
:ssl-port 443
:ssl-key "path/to/private-key.pem"
:ssl-cert "path/to/certificate.pem"}

  1. Restart Metabase:
    Restart your Metabase instance to apply the changes.

  2. Update Security Groups/Firewall:
    Ensure that your server's firewall or security group allows inbound traffic on port 443 (or the SSL port you specified).

  3. Test the Configuration:
    Open your browser and navigate to the Metabase URL using https://your-metabase-domain. Verify that the connection is secure.

  4. Automate Certificate Renewal:
    Set up a cron job to automatically renew the SSL certificate before it expires. Certbot usually provides instructions on how to do this during installation.

Note: Ensure that you have a backup of your Metabase configuration and data before making any changes.