1. Home
  2. Docs
  3. Add-Ons
  4. Rightmove, OnTheMarket an...
  5. Troubleshooting

Troubleshooting

cURL 58 errors in the log

There is a particular cURL error that we see from time to time that looks something like so:

"Error sending cURL request: 58 - could not load PEM client certificate, OpenSSL error error:140AB18E:SSL routines:SSL_CTX_use_certificate:ca md too weak, (no key found, wrong pass phrase, or wrong file format?)"


In this scenario there are 3 possible issues and solutions:

1) The most common cause is that the version of OpenSSL installed on your server has been updated which no longer supports certificates encrypted with older encryption methods, which the certificates provided by portals* generally are.
You should be able to make a request to the portal for an updated SHA-2 certificate using newer encryption methods which you can upload into Property Hive accordingly.

2) Following on the from above, if the portal can't provide an updated certificate you could alternatively decrease the security settings on the server. We've solved this by editing the file /etc/ssl/openssl.cnf and placing this at the top:

openssl_conf = default_conf

and then this at the bottom:

[openssl_init]
ssl_conf = ssl_sect
 
[ssl_sect]
system_default = system_default_sect
 
[system_default_sect]
CipherString = DEFAULT@SECLEVEL=1

After saving, restart the server.

3) The last option to try is to re-generate the certificates.
You can see the steps to do this here, or send them to us along with passwords and we'll re-generate them for you.


Other cURL related errors in the log:

This is quite a broad topic as many things could be causing the issue. The key things to check in this scenario are:

  • cURL is enabled on the server and that PHP is able to make cURL requests
  • The URL’s entered when setting up the portal are correct. Confirm there are no typos, whitespace etc
  • You don’t have a firewall on the server blocking the requests
  • You don't have a security plugin in WordPress blocking the requests. A quick way to test if this is the case is to disable the plugin temporarily.

It’s also possible that Rightmove haven’t updated things their end to allow requests.
If you check with them they’ll be able to tell you if the request is being received or not. If it’s not, it’s an error with the server or details entered.

Rightmove are unable to obtain photos

If properties are being sent successfully but they aren't able to get the photos or other media there is normally one of two causes:

1) You have a security plugin installed.
We've seen security plugins in the past have a feature which for some reason blacklists Rightmove's IP. A quick way to see if this is the cause is to deactivate any security plugins and try sending a property again. If it works successfully reactivate the security plugin and turn off any settings/features that relate to blacklisting.

2) Invalid SSL certificate or TLS version
From Rightmove's documentation:

If using HTTPS when sending media, please ensure that your certificate provider is in Oracle's JRE/JDK verified list. Please also ensure that your server supports TLS v1.0, 1.1 or 1.2 (1.2 is recommended), otherwise we will not be able to download the images.

Your certificate provider and/or hosting company will able to tell you if your certificate/server matches these requirements.

If you continue to experience issues, another option is to send media over HTTP. A snippet like so will achieve this:

add_filter( 'ph_rtdf_send_request_data', 'change_media_to_http', 10, 2 );
function change_media_to_http( $request_data, $post_id )
{
    if ( !empty($request_data['property']['media']) )
    {
        foreach ( $request_data['property']['media'] as $i => $media )
        {
            if ( isset($media['media_url']) )
            {
                $request_data['property']['media'][$i]['media_url'] = str_replace("https://", "http://", $media['media_url']);
            }
        }
    }
    
    return $request_data;
}

Properties are mysteriously disappearing

This is almost always because you have the real-time feed running on two sites. Please ensure it's not running on an old development site or similar.

If you have a staging and live site that are kept in sync automatically, and it's hard to always ensure it's turned off on the staging site, you can ensure requests are only sent from one place using something like so:

add_filter( 'ph_rtdf_perform_request', 'disable_rtdf_requests' );
function disable_rtdf_requests($perform)
{
	if ( $_SERVER['SERVER_ADDR'] != '111.111.111.111' ) // Should contain the IP of the live server
	{
		return false;
	}	
	return $perform;
}

* requires version 1.1.39 of the add on or higher

Was this article helpful to you? No 1 Yes

How can we help?