Google Chrome 44 Breaks WooCommerce

Thursday, July 23, 2015 | By Chris Rossi
Google Chrome redirection webpage

We had an interesting issue surface today on several of our client websites. Some had missing CSS/JS, and others were stuck in redirect loops.

The issue only seemed to be affecting Google Chrome on two of the computers in our office.

After some digging, we discovered that a recent release of Google Chrome (Version 44) has introduced a new HTTP request header:

chrome_headers

Chrome now sends a new “HTTPS: 1” header with all requests, as per the following:
https://code.google.com/p/chromium/issues/detail?id=495991

The problem is that WooCommerce uses this header in a non-standard way. Sites with the following setup are affected:

  • Running WooCommerce < 2.4
  • Have no SSL Certificate installed, or
  • Have the “Force HTTP when leaving the checkout” option enabled in WooCommerce

A fix for this issue should be released with WooCommerce 2.4 (currently in Beta at the time of writing):
https://github.com/woothemes/woocommerce/issues/8479

In the meantime, one of the suggested quick fixes is to override the HTTPS header.

We suggest including this line of code into your theme’s ‘functions.php’ file, or ‘wp-config.php’ if you prefer:

// Temporary patch for Chrome 44 WooCommerce bug
$_SERVER['HTTPS'] = false;
// Edit: The above fix caused issues with the is_ssl() function in WordPress.
// The new fix was:
if ( isset($_SERVER['HTTP_HTTPS']) ) {
  unset($_SERVER['HTTP_HTTPS']);
}

This should hopefully allow WooCommerce to function correctly until the issue is resolved.

You may also be able to bypass this by disabling the “Force HTTP when leaving the checkout” in WooCommerce:

woocommerce_https

Update – 27 July 2015

The latest version of Chrome (44.0.2403.107) should now resolve this issue, if you inspect the request headers you should see that “HTTPS: 1” has been replaced with:

Upgrade-Insecure-Requests: 1

References:
https://code.google.com/p/chromium/issues/detail?id=501842

https://github.com/IshYoBoy/aaa-ishyoboy-google-chrome-44-ssl-fix