Skip to content

ERR_SSL_OBSOLETE_VERSION: Fix

Key idea:

ERR_SSL_OBSOLETE_VERSION — Chrome 84+ (July 2020) blocks HTTPS connections to servers supporting only TLS 1.0 or 1.1. Causes: old nginx/Apache, legacy IIS 7, embedded devices. Fix: enable TLS 1.2+1.3, disable 1.0 and 1.1. 10 minutes of work on a modern server.

This error blocks HTTPS access. Below: causes, fixes, working config, FAQ.

Check your site's SSL →

Common Causes

  • nginx older than 1.13 cannot do TLS 1.3 (1.2 yes)
  • Apache without a current mod_ssl is stuck at TLS 1.0/1.1
  • OpenSSL < 1.0.1 cannot do TLS 1.2
  • Router/firewall with legacy SSL proxy
  • IoT devices (cameras, printers) only TLS 1.0

Step-by-Step Fix

  1. nginx: ssl_protocols TLSv1.2 TLSv1.3; (do not include TLSv1 and TLSv1.1)
  2. Apache: SSLProtocol -all +TLSv1.2 +TLSv1.3
  3. Update OpenSSL: apt update && apt upgrade openssl libssl-dev
  4. Ensure nginx built with newer OpenSSL: nginx -V 2>&1 | grep -i ssl
  5. Then: nginx -t && systemctl reload nginx

Check SSL Certificate →

Related SSL Errors

TL;DR

The ERR_SSL_OBSOLETE_VERSION error occurs when a web browser attempts to connect to a server using outdated TLS protocols, specifically TLS 1.0 or 1.1. To resolve this issue, ensure your server is configured to support TLS 1.2 or higher, as these versions are more secure and widely accepted by modern browsers. Check your server's SSL/TLS settings and update as necessary to avoid this error.

Understanding ERR_SSL_OBSOLETE_VERSION

The ERR_SSL_OBSOLETE_VERSION error indicates that a client (usually a web browser) is trying to connect to a server that only supports outdated versions of the Transport Layer Security (TLS) protocol. TLS 1.0 and TLS 1.1 have been deemed insecure due to various vulnerabilities, including the POODLE attack and BEAST attack, which exploit weaknesses in these older protocols. As of June 30, 2020, major browsers such as Chrome, Firefox, and Edge have deprecated TLS 1.0 and TLS 1.1, meaning that any site relying on these protocols will be flagged as insecure.

For web administrators and developers, it is crucial to understand the implications of this error. When users encounter ERR_SSL_OBSOLETE_VERSION, they are unable to access your site, which can lead to decreased traffic and trust. Furthermore, many compliance standards, such as PCI DSS, require the use of secure protocols, making it essential for businesses to maintain up-to-date security practices.

To diagnose the issue, you can use tools like SSL Labs' SSL Test, which provides a detailed report on your server's SSL/TLS configuration. This can help identify which versions of TLS are supported and whether any cipher suites are outdated.

Resolving ERR_SSL_OBSOLETE_VERSION

To resolve the ERR_SSL_OBSOLETE_VERSION error, follow these steps to reconfigure your server to support only secure TLS versions (1.2 and above):

1. Identify Your Server Type

Depending on your server, the configuration steps will vary:

  • Apache: Locate and edit your SSL configuration file, typically found in /etc/httpd/conf.d/ssl.conf or /etc/apache2/sites-available/default-ssl.conf.
  • Nginx: Edit your configuration file, usually located in /etc/nginx/nginx.conf or a site-specific configuration file in /etc/nginx/sites-available/.
  • Microsoft IIS: Use the IIS Manager to configure SSL settings.

2. Update the TLS Version

In your server configuration, specify the supported TLS versions. Here’s an example configuration for both Apache and Nginx:

# Apache Configuration
SSLProtocol -all +TLSv1.2 +TLSv1.3
# Nginx Configuration
ssl_protocols TLSv1.2 TLSv1.3;

3. Disable Older Protocols

Ensure that TLS 1.0 and TLS 1.1 are explicitly disabled. This can be done by including the following lines in your configuration:

# Apache
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
# Nginx
ssl_protocols TLSv1.2 TLSv1.3;

4. Test Your Configuration

After making the changes, restart your web server:

# Apache
sudo systemctl restart apache2
# Nginx
sudo systemctl restart nginx

Finally, retest your configuration using the SSL Labs' SSL Test to ensure that your server is now compliant with modern security standards and no longer presents the ERR_SSL_OBSOLETE_VERSION error.

CertificateExpiry, issuer, domains (SAN)
ChainIntermediate and root CA validation
TLS ProtocolTLS version and cipher suite
VulnerabilitiesHeartbleed, POODLE, weak ciphers

Why teams trust us

TLS 1.3
supported
Full
CA chain check
<2s
result
30/14/7
days-to-expiry alerts

How it works

1

Enter domain

2

TLS chain verified

3

Expiry date & vulnerabilities

What Does the SSL Check Cover?

SSL/TLS is the encryption protocol that protects data between the browser and server. Our tool analyzes the certificate, chain of trust, TLS version, and knownvulnerabilities.

Certificate Details

Issuer, validity period, signature algorithm, covered domains (SAN), and validation type (DV/OV/EV).

Chain of Trust

Full chain verification: from leaf certificate through intermediates to root CA.

TLS Analysis

Protocol version (TLS 1.2/1.3), cipher suites, Perfect Forward Secrecy (PFS) support.

Expiry Alerts

Set up a monitor — get Telegram and email alerts 30/14/7 days before expiration.

DV vs OV vs EV Certificates

DV (Domain Validation)
  • Confirms domain ownership only
  • Issued in minutes automatically
  • Free via Let's Encrypt
  • Suitable for most websites
  • Most common certificate type
OV / EV
  • Organization (OV) or Extended Validation (EV)
  • Issued in 1-5 business days
  • Costs $50 to $500/year
  • For finance, e-commerce, government sites
  • Increases user trust

Who uses this

DevOps

SSL certificate monitoring

Security

TLS config audit

SEO

HTTPS as ranking factor

E-commerce

customer trust

Common Mistakes

Expired certificateBrowsers block sites with expired SSL. Set up auto-renewal or monitoring.
Incomplete certificate chainWithout intermediate CA, some browsers and bots cannot verify the certificate.
Mixed content on HTTPS siteHTTP resources on an HTTPS page — the browser lock icon disappears, reducing trust.
Using TLS 1.0/1.1Legacy TLS versions have known vulnerabilities. Use TLS 1.2+ or 1.3.
Domain mismatch in certificateThe certificate must cover all site domains, including www and subdomains.

Best Practices

Set up auto-renewalLet's Encrypt + certbot with cron — certificate renews automatically every 60-90 days.
Enable HSTSStrict-Transport-Security header forces browsers to always use HTTPS.
Use TLS 1.3TLS 1.3 is faster (1-RTT handshake) and safer — legacy ciphers removed.
Monitor expiration datesCreate a monitor on Enterno.io — get notified well before expiration.
Verify chain after renewalAfter certificate renewal, confirm that intermediate certificates are installed.

Get more with a free account

SSL certificate monitoring, check history and alerts 30 days before expiry.

Sign up free

Learn more

Sources

Frequently Asked Questions

Which browsers blocked TLS 1.0/1.1?

Chrome 84 (July 2020), Firefox 78 (July 2020), Edge 84, Safari 14 (September 2020). By 2026 all modern browsers.

What if clients use old Android (API<21)?

Android < 5.0 cannot do TLS 1.2. Two options: keep a parallel subdomain with TLS 1.0 (DANGEROUS) or drop those clients. In 2026 it's <0.5% of traffic.

IoT device cannot reach server — disable TLS 1.2?

No. Put the device on a separate VLAN without internet and talk to it via TLS 1.0 internally, but your public site — TLS 1.2+1.3 only.

How do I check supported TLS?

<a href="/en/ssl">Enterno SSL</a> or in shell: <code>openssl s_client -connect example.com:443 -tls1_2</code>.

Try the live tool that powered this guide

Free plan — 10 monitors, checks every 5 min, no card required. Upgrade for 1-minute interval and multi-region monitoring.