Troubleshooting Curl Exit Code Issues

Occasionally when setting up Cloudamize, setup will fail with an error that includes a Curl “exit code”.

Curl (properly cURL or Client URL) is a third-party command line tool often included in operating systems or packaged with the software used to send data between servers. Cloudamize utilizes it to test connections between data collectors and collection endpoints. Connection tests are run during the installation process to ensure there are no blockers to secure connections, and during this process is when you’re most likely to encounter an error with one of the curl exit codes.

A full library of exit codes can be found at libcurl - Error Codes

Common examples of error codes encountered during the Cloudamize process include:

Code 35 or code 60

  • 35: A problem occurred somewhere in the SSL/TLS handshake. You really want the error buffer and read the message there as it pinpoints the problem slightly more. It could be certificates (file formats, paths, permissions), passwords, etc.

  • 60: The remote server's SSL certificate or SSH fingerprint was deemed not OK. This error code has been unified with CURLE_SSL_CACERT since 7.62.0. Its previous value was 51.

Both of these errors, in the context of Cloudamize, are more often than not related to an SSL certificate on the server where Cloudamize is being installed being unsigned or unverifiable. There are several methods of troubleshooting involving either signing or verifying an already signed certificate, but the easiest and quickest way to resolve these error codes during Cloudamize installation is to use a workaround:

Windows: Install using the command line and add the following options to the command:

  • IS_SERVER_CERTIFICATE_SIGNED_BY_CA=0

  • IS_PROXY_CERTIFICATE_SIGNED_BY_CA=0 (when using a proxy to connect)

Code 28

Code 28 refers to a timeout occurring when sending a query – the query has been sent, and the allotted time has passed with no response received at all.

This often occurs when the setup uses a proxy to communicate externally to Cloudamize Agent Managers (data collection endpoints such as am.cloudamize.com etc.), and the proxy is misconfigured.

The best method to proceed when a proxy is in play is to check its configuration and that it and its firewalls allow traffic as needed by the Agent/ADC to and from the Agent Manager endpoint in full. It can be worth checking firewall logs on any internal and external firewalls to see if traffic is being sent externally to the endpoint and then also to see what is happening to any responses back from this endpoint. If they don’t return to the original server (where the Agent or ADC is located), then this error would be expected.

 

You can test that an active connection can be made to a Cloudamize endpoint by opening the appropriate URL in a browser from the Agent or ADC server where this error occurs:

https://am.cloudamize.com/cxf/test - for assessments directed to our US servers.

https://am-de.cloudamize.com/cxf/test - for assessments directed to our EU servers.

https://am-ae.cloudamize.com/cxf/test - for assessments directed to our UAE servers.

You should see the message “Server is up and running!” when a connection can be made.

 

If you’re still having issues where a curl exit code is being reported in the log files, please get in touch with the helpdesk via our Helpdesk Portal or by email at helpdesk@cloudamize.com – be sure to include the email address of your assessment and the log_backup.txt file found in the relevant Cloudamize install directory.