Free HTTPS & HSTS Checker
Check your HTTPS redirect chain, HSTS max-age, includeSubDomains, and preload readiness to block protocol downgrade attacks, with step-by-step fixes.
- HTTPS redirects
- HSTS max-age
- Preload readiness

What you get for free
18 core security checks via this tool, passive scans, step-by-step remediation, security score on every result.
What Essential adds at $39/mo
+17 advanced checks, continuous monitoring, daily security score history, email alerts, GitHub SAST, board-ready PDFs, SOC 2 / ISO 27001 / PCI reports.
What this checker validates
- HTTPS redirect chain and mixed HTTP hops
- HSTS max-age, includeSubDomains, preload token
- Preload list readiness criteria
What is HTTPS & HSTS?
HTTPS encrypts traffic. HSTS forces browsers to use HTTPS for your domain, preventing downgrade and cookie leakage over HTTP.
How to fix common failures
- Redirect HTTP to HTTPS at the edge (single hop)
- Set max-age ≥ 31536000, and add includeSubDomains and preload
- Verify subdomains are HTTPS‑ready before preloading
Implementation examples
Once you've identified the gap, applying the fix is straightforward. Here are the three configurations developers reach for most often.
Nginx
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name example.com www.example.com;
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
}Apache
<VirtualHost *:80>
ServerName example.com
Redirect permanent / https://example.com/
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
SSLEngine on
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
</VirtualHost>Node.js (Express + Helmet)
import express from "express"
import helmet from "helmet"
const app = express()
app.use(
helmet.hsts({
maxAge: 63072000,
includeSubDomains: true,
preload: true,
}),
)
// Redirect any HTTP request to HTTPS (when terminating TLS upstream,
// trust the proxy and check req.secure / x-forwarded-proto).
app.enable("trust proxy")
app.use((req, res, next) => {
if (req.secure) return next()
res.redirect(301, "https://" + req.headers.host + req.url)
})Tool-specific questions
What max-age for preload?
Is HSTS risky?
Do I need both www and apex?
How do I become HSTS preload-ready?
Built for the engineers who already have enough to fix.
Real-time results
Comprehensive checks
Step-by-step fixes
More free checks, for the rest of your surface.
Complete Security Scan
Pre-Pentest Security Scan
Security Compliance Checker
WAF Checker
Security Headers Test
TLS/SSL Security Checker
Go deeper on the same topic.
Frequently asked.
What is Barrion and how does it enhance website security?
How safe is Barrion to use for security testing?
What types of security issues does Barrion identify?
What specific security checks does Barrion perform?
What is Barrion's smart crawling?
How often does Barrion perform security scans?
Is Barrion suitable for security testing of all business sizes?
How does Barrion handle data security and privacy during security testing?
What if I'm not satisfied with Barrion's security testing service?
How does Barrion help with SOC 2, ISO 27001, NIS2, and other compliance frameworks?
Anything else? Email contact@barrion.io.
Run a full report on your site.
Free first scan covers every check, no signup needed. Sign up to save the report and turn on continuous monitoring.