When trying to update one Network/MU install, I got the following error.
Warning! Problem updating https://subdomain-A.example.com. Your server may not be able to connect to sites running on it. Error message: SSL: certificate subject name ‘example.com’ does not match target host name ‘subdomain-A.example.com’
As I know that the certificate is valid, etc. I just need to somehow bypass the verification check from WP.
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
I had to write a little plugin to bypass the check – free to download and use.
<?php
/**
* Plugin Name: Upgrade SSL Bypass
* Description: The DB-Upgrade process for networks does not work if there's an error with your SSL certificate. This plugin bypasses the check by disabling the verification in case of an error.
* Version: 2013-01-02.1502
* Author: Franz Josef Kaiser <<a href="https://getridbug.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="ff889a9c909b9a92908d9abf98929e9693d19c9092">[email protected]</a>>
* Author URI: http://unserkaiser.com
* License: The MIT License (MIT)
* LicenseURI: http://www.opensource.org/licenses/mit-license.php
*/
// No direct file access
defined( 'ABSPATH' ) OR exit;
add_filter( 'http_request_args', 'upgrade_ssl_bypass', 10, 2 );
/**
* Callback for a HTTP request used to switch the
* SSL verification in case of a WP error response.
* @param array $r Request arguments
* @param string $url Request URL
* @return array $r
*/
function upgrade_ssl_bypass( $r, $url )
{
if (
! isset( $_GET )
OR ! isset( $_GET['action'] )
OR 'upgrade' !== $_GET['action']
)
return $r;
if (
is_wp_error( $response = wp_remote_get(
admin_url( 'upgrade.php?step=upgrade_db' )
,array(
'timeout' => 120
,'httpversion' => '1.1'
)
) )
AND strstr( $response->get_error_message(), 'SSL: certificate subject name' )
)
add_filter( 'https_ssl_verify', '__return_false' );
return $r;
}
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0