496 Error

A 496 SSL Certificate Required error is an nginx-specific code for:

“This server requires you to present a valid client SSL certificate, but you didn't provide one.”

A 496 SSL Certificate Required error is an internal status code used by nginx when a client attempts to connect to a location that requires mutual TLS authentication without providing a client certificate.

When ssl_verify_client on; or ssl_verify_client optional_no_ca; is configured in nginx, any client that fails to present a certificate during the TLS handshake is rejected with code 496.

Determining why

The website or API requires two-way SSL (mutual TLS) where both the server and the client must cryptographically identify themselves. Your browser or API client did not transmit a certificate during the TLS connection.

Steps you could possibly take:

  • Install your client certificate - Import your .pfx or .p12 client certificate into your operating system’s certificate store or browser settings.
  • If connecting via curl or an API client:
    • Supply your certificate and private key using --cert cert.pem --key key.pem.
  • If you are the server administrator:
    • Check your nginx configuration to ensure client verification is only enforced on routes where it is strictly intended.

Source: nginx Documentation - ngx_http_ssl_module