Skip to content

HSTS Error: Browser Blocked by HSTS Policy

TL;DR:

HSTS Error means the site is on the HSTS preload list but currently has a broken SSL. Chrome won't allow bypassing the warning (security feature). Owner fix: repair the SSL certificate. For testing: chrome://net-internals/#hsts → "Delete domain security policies".

This error is a frequent issue in SSL debugging. We cover the causes and step-by-step fix.

Check your site's SSL →

What HSTS Error means

HSTS Error means the site is on the HSTS preload list but currently has a broken SSL. Chrome won't allow bypassing the warning (security feature). Owner fix: repair the SSL certificate. For testing: chrome://net-internals/#hsts → "Delete domain security policies".

The error can appear in Chrome, Edge, Opera, Brave (all Chromium-based), and partially in Firefox and Safari. Different browsers display the same code differently, but the underlying issue is the same.

How to fix (step-by-step)

  1. Check the SSL certificate online — the Enterno.io checker shows the grade, expiry, chain, and specific cause.
  2. If the issue is server-side — reissue the certificate via certbot or your chosen CA.
  3. Update nginx/apache config (enable TLS 1.2/1.3, fullchain, correct ciphers).
  4. Check kernel OpenSSL — an outdated openssl < 1.1 can break handshakes.
  5. After deploy: recheck via SSL checker + clear the browser SSL cache.

Check SSL now →

Related SSL errors

TL;DR: Understanding and Bypassing HSTS Errors

To bypass an HSTS (HTTP Strict Transport Security) error, you can clear your browser's HSTS settings or use a different browser. HSTS enforces secure connections, and if misconfigured, it can lead to access issues. Use the command chrome://net-internals/#hsts in Chrome to manage HSTS settings. For persistent issues, consider reviewing server configurations or temporarily disabling HSTS in your web server settings.

What is HSTS and Why It Causes Errors?

HTTP Strict Transport Security (HSTS) is a web security policy mechanism that helps to protect websites against man-in-the-middle attacks such as protocol downgrade attacks and cookie hijacking. When a website is served over HTTPS, it can include an HSTS header that tells browsers to only connect to it using HTTPS for a specified period.

When HSTS is enabled, browsers store the policy, which can lead to errors if the server configuration changes or if there are issues with the SSL certificate. Common causes of HSTS errors include:

  • Misconfigured SSL certificates
  • Expired SSL certificates
  • Incorrect HSTS header syntax
  • Changes in server IP or DNS settings

For example, if a site is configured with the HSTS header Strict-Transport-Security: max-age=31536000; includeSubDomains but the SSL certificate has expired, users will encounter an HSTS error preventing access.

Bypassing HSTS Error: Practical Steps

When dealing with HSTS errors, there are several methods to bypass or resolve them. Here are practical steps for different browsers:

For Google Chrome:

  1. Open Chrome and navigate to chrome://net-internals/#hsts.
  2. In the 'Delete domain security policies' section, enter the domain name that’s causing the error and click 'Delete.' This action removes the stored HSTS policy for that domain.

For Mozilla Firefox:

  1. Type about:config in the address bar.
  2. Search for security.mixed_content.send_hsts_priming and set it to false.
  3. Restart Firefox to apply changes.

For Safari:

  1. Go to Safari Preferences.
  2. Select the 'Privacy' tab and click on 'Manage Website Data.'
  3. Search for the domain and remove its data.

Additionally, if you have control over the server, you can modify the HSTS settings. For example, to temporarily disable HSTS on an Apache server, you can comment out or delete the HSTS header in your configuration file:

# Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"

After making changes, restart your web server and clear the browser cache before attempting to access the site again.

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

Is it safe to ignore HSTS Error?

No. This error indicates a real SSL certificate problem. Ignoring it (via chrome://flags or "thisisunsafe") makes the connection vulnerable to man-in-the-middle attacks. Fix it on the server side.

How can I catch this error early?

Use the <a href="/en/ssl">Enterno.io SSL/TLS checker</a>, or <a href="/en/monitors">set up monitoring</a> with 14-day expiry alerts. Receive an email/Telegram notification before your users see the error.

Does clearing cookies / cache help?

Sometimes, for transient cached SSL errors. Steps: chrome://net-internals/#sockets → Flush sockets, chrome://net-internals/#hsts → Delete domain security policies (carefully, for debugging only). But if the issue is server-side, cache clearing will not help.

Is Let's Encrypt free — and is the certificate trusted?

Yes, Let's Encrypt certificates are in every modern trust store (Chrome, Firefox, Safari, Edge). 90-day validity with automatic renewal via certbot. No reason to use a paid CA for a standard website.

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.