problem resolved.
Issue:
My WP is a multi-site installation that is also load-balanced behind a firewall. This causes all APIs related to WP_Http get to be processed differently.
Resolution:
I modified line 167 to hardcode the actual server.
from
$url = get_bloginfo(‘url’) . ‘/’ . $wp->request . “?$query_string”;
to:
$url = “http://<my_server_address>” . ‘/’ . $wp->request . “?$query_string”;
Hi,
I’m the new maintainer of Debug This. Please let me know if you are still using the plugin and if you would like a solution that doesn’t involve modifying the code if you choose to update the plugin.
I have zero experience with load balancing so I think a simple solution is to provide an optional setting for the server address instead of fetching it using get_bloginfo.
Chris
Hi Chris,
I am experiencing the same issue, but I am not behind a load balancer. Choosing any of the menu items returns a blank page. I would be curious about a solution that doesn’t involve modifying code.
Thanks,
Ben
If possible, please enable WordPress debugging mode and check the error log. Let me know what you find.
Thanks Chris. Here’s what I got when I turned on debug mode (with debug display enabled). An odd thing in the third part of this error is that it is trying to connect to ssl://siteURL instead of https://siteURL, is that normal?
Warning: stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed in /var/www/html/wp-includes/class-http.php on line 1008
Warning: stream_socket_client(): Failed to enable crypto in /var/www/html/wp-includes/class-http.php on line 1008
Warning: stream_socket_client(): unable to connect to ssl://bagels.shirted.co:443 (Unknown error) in /var/www/html/wp-includes/class-http.php on line 1008
Fatal error: Cannot use object of type WP_Error as array in /var/www/html/wp-content/plugins/debug-this/debug-this.php on line 183
Thanks for checking that. The ssl://siteURL is a normal part of the certificate checking process. I know the plugin works on secure sites.
The key is that first error message which, according to a comment in class-http.php, apparently means
SSL connection failed due to expired/invalid cert, or, OpenSSL configuration is broken.
If the plugin caught the error, it would display
The SSL certificate for the host could not be verified.
Good call, I fixed up my SSL conf in Apache, and now your plugin works. 🙂
RTFM applies to me on this one, my bad. I went through https://support.comodo.com/index.php?/Default/Knowledgebase/Article/View/637/37/certificate-installation-apache–mod_ssl and it got me fixed up.
I didn’t have the CA bundle put together correctly, nor did I have it specified properly in my default-ssl.conf.
Cool. I’m glad you got it working. Thanks for posting your solution so others may benefit.
I will add some error handling to the plugin.