Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

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.

share|improve this question

1 Answer 1

up vote 2 down vote accepted

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 <wecodemore@gmail.com>
 * 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;
}
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.