“升级网络”错误:使用SSL证书验证

时间:2013-01-02 作者:kaiser

在尝试更新一个网络/MU安装时,我遇到了以下错误。

警告更新时出现问题https://subdomain-A.example.com. 您的服务器可能无法连接到其上运行的站点。错误消息:SSL:证书使用者名称示例。com“与目标主机名”子域A不匹配。示例。com\'

正如我所知,证书是有效的,等等。我只需要以某种方式绕过WP的验证检查。

1 个回复
最合适的回答,由SO网友:kaiser 整理而成

我不得不编写一个小插件来绕过免费检查来下载和使用。

<?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 <[email protected]>
 * 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;
}

结束

相关推荐

WP MultiSite:默认添加关于博客创建的页面

我希望在使用WP Multisite创建新站点时,在默认情况下添加一个页面。因此,我有一个创建两个页面的函数:function my_default_pages() { $default_pages = array(\'Impress\', \'Contact\'); $existing_pages = get_pages(); foreach($existing_pages as $page) { $temp[] = $p