What is a self-signed certificate and why does the browser reject it?

A self-signed certificate is an HTTPS certificate you issue to yourself rather than obtaining from a recognised certificate authority. The encryption works, but browsers reject it because nothing trusted vouches for who you are:

  • The missing link - a normal certificate is signed by an authority the browser already trusts, which is how the browser confirms the site is really yours; a self-signed one has no such backing.
  • What visitors see - a full-page warning that the connection is not private, which most people will not click past.
  • Where it is fine - internal testing or a private tool on your own network, where you control every machine that connects.

For any public-facing site, use a free certificate from Let’s Encrypt instead - it costs nothing and browsers trust it automatically.