webzod
account

Replace the self-signed certificate with a trusted one

tls.cert.self_signed · effort: minutes

Why it matters

A self-signed certificate is not vouched for by any authority browsers trust, so every visitor sees a security warning. Many API clients refuse the connection altogether.

The fix

  1. Get a certificate from a public certificate authority. Let's Encrypt is free and renews automatically with an ACME client such as certbot or acme.sh.
  2. Install the certificate with its intermediate certificates on the web server and reload it.
  3. If the server sits behind a CDN or proxy you control, let the CDN present the public certificate and keep a private certificate only between the CDN and your server.
  4. Confirm with the command below that the issuer is now a public authority.
bash
sudo certbot --nginx -d example.com      # or --apache
openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null | openssl x509 -noout -issuer

The examples use example.com. Replace it with your own domain.

Read the documentation (opens in a new tab)

Scan your domain to see whether this applies to you.