Symptoms
AutoSSL shows the following error while trying to request a new SSL certificate.
No key ID has been set. Either pass “key_id” to new(), or create_account().
The cPanel error log also contains messages similar to the following.
warn [xml-api] Net::ACME2::LetsEncrypt->get_terms_of_service(): Net::ACME2::X::HTTP::Network: The system failed to send an HTTP “GET” request to “https://acme-v02.api.letsencrypt.org/directory” because of an error: Cpanel::Exception::Timeout/(XID 3bkkcq)
at /var/cpanel/perl/Cpanel/SSL/Auto/Provider/LetsEncrypt/ToSCache.pm line 89.
Cpanel::SSL::Auto::Provider::LetsEncrypt::ToSCache::__ANON__(__CPANEL_HIDDEN__) called at /usr/local/cpanel/3rdparty/perl/532/lib/perl5/cpanel_lib/IO/Socket/IP.pm line 751
Description
This issue is caused by a firewall blocking the connection between your server and Let's Encrypt's API server, acme-v02.api.letsencrypt.org
.
Workaround
- Access the server's command line as the 'root' user via SSH or "Terminal" in WHM.
- Run the following commands to determine if the firewall is blocking the IPv4 or IPv6 connection.
[root@server ~]# curl -I https://acme-v02.api.letsencrypt.org/
curl: (7) Failed to connect to acme-v02.api.letsencrypt.org port 443: Connection timed out[root@server ~]# curl -I6 https://acme-v02.api.letsencrypt.org/
Please note a successful connection will show an HTTP response code.
curl: (7) Failed to connect to acme-v02.api.letsencrypt.org port 443: Connection timed out - Open outbound TCP port 443 for IPv4 or IPv6, depending on which commands failed to produce an HTTP response code.