# Use AutoSSL and custom SSL certificates

SSL can be enabled for apps using either AutoSSL or custom SSL certificates you provide.

## AutoSSL

AutoSSL automates the use of free SSL certificates from Let’s Encrypt.

### Add domains to an AutoSSL certificate

To include a domain in an app’s AutoSSL certificate:

1. [Add the domain](/content/docs/apps/domains/index.html) to your app.
2. Configure DNS for your domain to resolve to your server’s IP address.

### Enable AutoSSL

To enable AutoSSL for your app:

1. Go to the [Apps](https://manage.serverpilot.io/apps) page in the dashboard and click on the name of the app.
2. Click on **SSL**.
3. Click on **Enable AutoSSL**.

With AutoSSL enabled, your app is available over HTTPS.

If you cannot enable AutoSSL, see our [troubleshooting guide](/content/docs/guides/troubleshooting/ssl/index.html).

## Custom SSL certificates

If you already have a private key and certificate, you can directly add your custom SSL certificate without generating a key and CSR.

If you are purchasing a new SSL certificate from a Certificate Authority, you must first generate a key and CSR before your Certificate Authority can issue a certificate.

### Add a custom SSL certificate

To add a custom SSL certificate:

1. Go to the [Apps](https://manage.serverpilot.io/apps) page in the dashboard and click on the name of the app.
2. Click on **SSL**.
3. Click on **Add a custom SSL certificate or generate a CSR**.
4. Paste your key and certificate into the **SSL Key** and **SSL Certificate** fields.
5. Click on **Update SSL Key and Cert**.

ServerPilot will automatically add the necessary intermediary CA certificates for your Certificate Authority. Alternatively, you can include the intermediary certificates provided by your Certificate Authority in the **SSL Certificate** field when adding your certificate.

### Generate a key and CSR

To generate a key and CSR for a custom SSL certificate:

Provide the CSR to the Certificate Authority that is issuing your certificate. The Certificate Authority will then issue your SSL certificate.

## Redirect HTTP to HTTPS

To automatically redirect requests from HTTP to HTTPS:

1. Go to the [Apps](https://manage.serverpilot.io/apps) page in the dashboard and click on the name of the app.
2. Click on **SSL**.
3. Click on **Redirect HTTP to HTTPS**.

The redirect will use a 301 Moved Permanently status code.

## HTTP/3 for apps with SSL

If HTTP/3 is enabled for a server, all SSL-enabled apps on the server will support HTTP/3.

See how to enable [enable HTTP/3](/content/docs/servers/#http3/index.html).
