Symptoms
- Plesk Obsidian and WHMCS installed and running on the same Ubuntu 22 operating system
-
You may see the following error in WHMCS when attempting to perform actions on remote systems (like managing domains via domain registrars or hosting accounts on servers):
CURL Error: 56 - OpenSSL SSL_read: error:14095126:SSL routines:ssl3_read_n:unexpected eof whileeading, errno 0
Cause
The issue is applicable only to Plesk running on Ubuntu 22 and is tied of issues related to the operation of PHP/cURL/OpenSSL - 1.1.1/3.0.2 native packages on the Ubuntu operating system and their interaction with Plesk and WHMCS which are installed on the same server. A bug with ID #PPPM-13882 has been created on the side of Plesk in order to track this issue. You may view the changelog in order to check whether the bug has been resolved permanently on the following link:
Resolution
Until a permanent fix for this issue that is mostly related to curl becomes available, the possible workarounds are as follows:
Option 1
Migrate the Plesk and/or WHMCS installation to another OS, such as CentOS 7 (or another RHEL-based operating system that is supported by Plesk).
Note: Plesk and WHMCS should be installed on different servers, due to the way in which they are intended to function. WHMCS is normally a tool that should be installed on a separate controlling server from which WHMCS task execution signals would be sent towards Plesk servers.
The recommendation here is to move the WHMCS installation to a separate server (you should contact the support of WHMCS in order to receive details related to make such a migration).
Alternatively, you may move the Plesk installation to a different server by using the information in the following article:
Plesk Migration and Transfer Guide
Option 2
Compile PHP with a modified cURL extension, so that it would work properly with both Plesk and WHMCS installed on the same Ubuntu 22 server.
This needs to be done on the operating system level, which is beyond the control of Plesk and should thus be done by an experienced System Administrator. A general guide for the necessary changes is available in the following official curl issue thread:
Add support for OpenSSL 3 SSL_OP_IGNORE_UNEXPECTED_EOF option · Issue #9024 · curl/curl · GitHub
After the compilation of the mentioned custom PHP with a modified cURL extension is done, you can use the following article to add the newly created PHP version to Plesk:
How to add a custom PHP version in Plesk for Linux?
Afterwards, you can set the newly added PHP version to Plesk by using the information in this article:
How to change PHP version for a domain in Plesk?
Additional information
How to install WHMCS 7 on Plesk for Linux?
Add support for OpenSSL 3 SSL_OP_IGNORE_UNEXPECTED_EOF option · Issue #9024 · curl/curl · GitHub
cURL: Support of SSL_OP_IGNORE_UNEXPECTED_EOF context option · Issue #10215 · php/php-src · GitHub