HTML Validator Can't Connect Over HTTPS

When the W3C Markup Validation Service couldn't connect to my site using HTTPS, this simple configuration change resolved the issue.

A few days ago, someone pointed out that the HTML validation link in my footer was leading to an error message. Invalid markup? Surely not! I clicked the link to load the W3C Markup Validation Service and it screamed "Sorry! This document cannot be checked." The error message stated "500 Can't connect to chriswells.io:443" and "If you made recent changes to your domain name (DNS) configuration, you may also want to check that your domain records are correct, or ask your hosting company to do so."

HTML Validation Error

HTML Validation Error

I tested that link when I first launched my site and it worked, so what changed? I definitely hadn't made any DNS changes as the error message suggested. One change I had made was to force TLS/HTTPS connections, but I knew the validation service could handle HTTPS. On a hunch, even though HTTPS connections to my site were working properly in all major browsers, I decided to try explicitly adding the CA bundle to the server. With the certificate chain in place, the validation service was able to connect to my site again and successfully validate the markup.

If you're seeing the same issue, you should be able to obtain the correct CA bundle from the company you bought your cert from. On Apache2 with mod_ssl, upload the CA bundle to the server and use the SSLCertificateChainFile directive to specify the path to it. If you're using WHM to configure SSL, simply paste the file's contents into the Certificate Authority Bundle field. A quick support request to your certificate vendor should be all it takes if you need detailed instructions or run into any problems installing the bundle.

,
comments powered by Disqus