What is cURL?
cURL is a widely used method of transferring data from and to (web)servers via URLs. It is installed on most, if not all webservers which makes it an ideal tool to use. Really Simple Security uses cURL for a number of things. The plugin uses cURL to open your webpage to check if the site can load over SSL, to test if your certificate is valid, and to connect to really-simple-ssl.com to activate your Really Simple Security Pro license. cURL works fine on the vast majority of webservers.
However, it can fail in some environments, resulting in a cURL error. cURL errors cause some of the most common issues when using Really Simple Security, for example, your license cannot be activated, or the plugin cannot retrieve the webpage to test for the mixed content fixer marker.
Important: cURL errors usually don’t break the front-end of your site, meaning that the site can still be visited by your users.
Why does a cURL error occur?
cURL errors are often caused by an outdated version of PHP or cURL. cURL errors are a good example of server-related errors. These are errors that aren’t caused by WordPress or Really Simple Security, but by a server configuration. These errors usually don’t cause any issues on the front end of your site. If the site loads fine on https://, the error doesn’t impact your visitors.
How to fix a cURL error
Since cURL errors are server-related they can be fixed by your hosting provider. They have access to the server and can update PHP and/or cURL for you. This will solve a cURL error in most cases. If this doesn’t fix the cURL error, your hosting provider can tell you why cURL is not working correctly. It could be your hosting provider uses some form of security (for example a firewall) that is preventing the cURL request from completing.
cURL errors are given with a cURL error code, which provides more information about the reason why cURL has failed. This information is useful in troubleshooting the issue.
Most common cURL errors
cURL error 28: Connection timed out
cURL error 28 occurs when the cURL request isn’t completed in a certain amount of time. This can happen when the cURL timeout value is set too low, but by far the most common cause is that a firewall or security module (for example, the mod_security module on Apache) is blocking the cURL request, which ultimately causes it to timeout. To fix cURL error 28, it’s usually best to contact your hosting provider.
cURL error 60: SSL certificate problem: unable to get local issuer certificate:
cURL error 60 occurs when the site uses an invalid SSL certificate. This error often occurs on localhost development environments since these usually don’t have a valid SSL certificate. If this error happens on your live site, contact your hosting provider to install a valid SSL certificate for you.
cURL error 35: SSL connect error
cURL error 35 is caused by a misconfiguration on the server. For example, an outdated certificate within cURL, or a mismatch in ciphers. Contact your hosting provider for a fix.