Mixed Content Errors: HTTPS Pages Loading HTTP Resources
· CSR.plus Team

- •Browsers block HTTP resources on HTTPS pages to protect the page from downgrade attacks.
- •Use the browser console to list every blocked URL, then fix the source: relative URLs, protocol-relative URLs, or a CSP upgrade header.
- •Content Security Policy’s upgrade-insecure-requests can fix many pages without editing code.
How mixed content works
A page served over HTTPS inherits a secure context. Any subresource loaded over plain HTTP — images, CSS, scripts, fonts, iframes, fetch/XHR — breaks that context. Browsers block "active" mixed content (scripts, iframes, fetch) entirely, and increasingly also block images and audio. The browser console logs each blocked URL with a clear message.
Finding every occurrence
Open DevTools > Console, filter for "Mixed Content", and copy each blocked URL. Then search your codebase for http:// references to those hosts. The most robust fix is to use protocol-relative URLs (//cdn.example.com/x.js) or plain relative paths, so the browser chooses the correct scheme automatically.
The CSP one-liner
Add the header Content-Security-Policy: upgrade-insecure-requests to tell the browser to rewrite http:// subresources to https:// instead of blocking them. This works for most static pages. For hardcoded http:// API endpoints that do not offer HTTPS, you must change the code — there is no client-side workaround.
FAQ
Why does the site look broken but other browsers work?
Older browsers or relaxed policies may load mixed content silently. Modern browsers block it, which is why behavior differs.
Does HSTS fix mixed content?
No. HSTS prevents HTTP page loads but does not rewrite embedded http:// resources. Use upgrade-insecure-requests or fix the URLs.
UptimeRobot
Monitor your SSL & uptime for free
UptimeRobot watches your certificates and endpoints 24/7 — 50 monitors on the free plan.
Affiliate link — we may earn a commission at no extra cost to you.
Free SSL/TLS tools
Verify and inspect your certificates in seconds.