Fixing WordPress “Loopback Request” Failures Caused by TLS 1.3–Only Edges

If WordPress Site Health says “The loopback request failed” and curl returns “Peer reports incompatible or unsupported protocol version,” your edge may be TLS 1.3–only while the server only speaks TLS 1.2. Here’s how to diagnose and fix it fast—without sacrificing security.

Table of Contents

Symptom: WordPress Site Health reports “The loopback request to your site failed”. On the server, curl https://yourdomain returns:

If you’re running on an older enterprise Linux (CentOS/RHEL 7 era, including extended life support builds), this usually means your server can only speak up to TLS 1.2, while your CDN or load balancer is configured to allow TLS 1.3 only. The result: your server can’t make HTTPS requests to itself. That breaks WordPress loopbacks (used by Site Health and some plugins) and often wp-cron, update checks, and scanners.


TL;DR

  • Legacy OS stacks ship OpenSSL versions that don’t support TLS 1.3.
  • If your edge (Cloudflare/ALB/nginx/Apache) is set to TLS 1.3 only, server-side tools like curl (and therefore WordPress loopbacks) fail with curl: (35).
  • Fastest fix: allow TLS 1.2 at the edge (still industry-accepted with modern ciphers).
  • Long-term fix: upgrade the server OS to something with OpenSSL 3.x (TLS 1.3 capable).

Why WordPress Cares About Loopbacks

Many WordPress features call back into the site over HTTPS using the server’s own networking stack:

  • Site Health tests
  • wp-cron (scheduled tasks)
  • Plugin/Theme updates and integrity checks
  • Some security/firewall and backup plugins

If TLS handshakes fail from the server to the site, these calls never succeed—even if regular visitors have no issues in their browsers.


Quick Diagnosis

Run these from the web server (or container) hosting WordPress:

Interpretation:

  • If --tlsv1.2 works, your edge accepts TLS 1.2 and the problem lies elsewhere.
  • If --tlsv1.2 fails with the same error, your edge is likely TLS 1.3 only or uses a cipher suite your client can’t negotiate.

Tip: To test the origin directly (bypassing a CDN) while keeping SNI/Host correct, use:


Two Clear Fix Paths

1) Allow TLS 1.2 at the Edge (Fastest, Recommended Short-Term)

Keep TLS 1.3 enabled, but also allow TLS 1.2 with modern AEAD ciphers. This preserves strong security while restoring compatibility for server-side calls from legacy hosts.

Cloudflare:

  • SSL/TLS → Edge Certificates → Minimum TLS Version = TLS 1.2.
  • Keep “TLS 1.3” On.

AWS Application/Network Load Balancer:

  • Choose a security policy that supports both TLS 1.2 and 1.3 (or at minimum TLS 1.2).
  • Avoid legacy policies that include TLS 1.0/1.1.

Nginx (terminating TLS on your own server):

Reload Nginx and retest curl --tlsv1.2 https://... from the WordPress host.

Apache httpd:

Restart Apache and retest.

2) Upgrade the Server OS (Strategic, Long-Term)

Move to a modern distro (e.g., AlmaLinux/Rocky/Ubuntu LTS) with OpenSSL 3.x and native TLS 1.3. This benefits everything on the box—not just WordPress—by enabling current TLS and cipher suites.

Migration tips:

  • Snapshot/AMI or VM backup first.
  • Stage the upgrade in a clone, validate PHP/NGINX/Apache versions, extensions, and WordPress functionality.
  • Use a blue/green or swap entire instance behind a load balancer for minimal downtime.

Verifying the Fix

Once you’ve allowed TLS 1.2 or upgraded the OS:

In WordPress Admin → Tools → Site Health, re-run the tests; Loopback request should show “Passed”.


Security Considerations

  • TLS 1.2 with modern AEAD ciphers (AES-GCM/CHACHA20) remains broadly approved across compliance regimes.
  • Prefer to keep TLS 1.3 enabled for clients that can use it. Allowing TLS 1.2 as a compatibility floor is typically acceptable—especially for server-to-server paths from managed hosts still on legacy OS.

FAQ

Q: Browsers work fine—why is WordPress complaining?
Because your server’s TLS stack is older than your visitors’ browsers. WordPress loopbacks use the server’s own curl/OpenSSL, which may not support TLS 1.3.

Q: Is enabling TLS 1.2 less secure?
With modern cipher suites, TLS 1.2 remains strong. Pair it with HSTS and keep TLS 1.3 enabled for capable clients.

Q: Can I fix this by upgrading curl only?
Not usually. curl depends on the system TLS library; on legacy OS, that library lacks TLS 1.3. You need a full OS refresh or a custom toolchain.


Need a Hand?

At Reliable Penguin, we manage fleets that mix legacy and modern workloads. We can:

  • Adjust CDN/LB/edge TLS safely (Cloudflare, AWS ALB/NLB, nginx, Apache)
  • Diagnose WordPress loopback/wp-cron failures
  • Plan and execute OS upgrades with minimal downtime

Have this issue right now? Contact us and we’ll get your loopbacks—and your updates—running again.

Have a project or a problem?

Talk with a senior engineer for practical recommendations—no obligation.

Leave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts

Categories

Get a free consultation from Reliable Penguin

Submit the form—or for immediate service call 866-649-7984.