Проблема с заголовком HTTPS в Chrome версии 44.0.2403.xx

Я борюсь с тех пор, как установил новую версию Chrome 44.0.2403.xx.

Моя первоначальная проблема заключалась в том, что некоторые таблицы стилей на моем веб-сайте загружались через https, но мой веб-сайт только http.

Я использую wordpress, поэтому я искал внутри основной функции, чтобы найти, где HTTPS был добавлен в URL-адрес.

Виновником является функция is_ssl(). База Wordpress — это проверка HTTPS по переменной $_SERVER['HTTPS'], а у меня было установлено значение 1.

Я обнаружил, что последняя версия Google Chrome отправляет заголовок HTTPs = 1.

Как я могу предотвратить, чтобы этот заголовок вызывал проблемы на моем веб-сайте?


person Pierre    schedule 22.07.2015    source источник


Ответы (6)


Чтобы решить мою проблему, я включил mod_header на сервере и добавил это правило в свой файл appache2.conf:

<IfModule mod_headers.c>
  RequestHeader unset HTTPS
</IfModule>
person Pierre    schedule 22.07.2015
comment
Это работает для серверов, использующих Apache (поскольку он изменяет файл .htaccess). Это не относится к большинству серверов NGINX. Основная проблема заключается в том, что сайты WP используют что-то меньшее, чем WooCommerce 2.3.13. Ссылка на решение проблемы здесь superuser.com/a/943989 - person The Z Man; 22.07.2015
comment
Вы правы насчет NGINX, но это происходит не только из WooCommerce, ядро ​​Wordpress содержит функцию, которая использует заголовок https: is_ssl() . В моем случае проблема возникла, когда я использовал функцию get_template_directory_uri(). - person Pierre; 23.07.2015
comment
Если вы не используете apache, вы можете временно исправить это, установив $_SERVER['http'] = false; в файле wp-config.php. - person Pierre; 23.07.2015
comment
Пьер: Основной код WordPress проверяет только переменную $_SERVER['HTTPS']. Это не вызовет проблемы, потому что переменная, вызывающая проблемы в Chrome, вводится как $_SERVER['HTTP_HTTPS']. Это не влияет на ядро, но может повлиять на многие плагины. - person Otto; 25.07.2015
comment
Ну, я могу заверить вас, что моя переменная была $_SERVER['https']... поэтому я обнаружил, что версия is_ssl() была затронута... - person Pierre; 29.07.2015

Заголовок, который Google Chrome отправляет HTTPS: 1, преобразуется в $_SERVER['HTTP_HTTPS'] на стороне сервера. Если вы столкнулись с этой проблемой и хотите временно ее исправить, добавьте в файл wp-config.php следующее:

// Chrome 44 HTTPS:1 header issue temporary fix
$_SERVER['HTTP_HTTPS'] = 0;

ОБНОВЛЕНИЕ 2015-07-29

начиная с версии Chrome 44.0.2403.107 заголовок HTTPS был удален и заменен заголовком Upgrade-Insecure-Requests: 1.

person Mike Grace    schedule 23.07.2015

Если вы не можете изменить конфигурацию своего сервера или только в целях тестирования, вы можете использовать этот плагин Chrome Изменить заголовки для Google Chrome™, зайдите в плагин и добавьте действие (Изменить) с именем (HTTPS) и значением (0), не забудьте включить его.

Вот и все, ваш сайт на WordPress будет работать как надо.

person moumtaz    schedule 22.07.2015

У меня была та же проблема, и я решил ее, добавив следующий код в конец файла темы functions.php:

function https_chrome44fix() {
  $_SERVER['HTTPS'] = false;
}
add_action('init', 'https_chrome44fix',0);
person r3npi2    schedule 23.07.2015

Этот плагин, доступный на GitHub, может избавить вас от многих проблем, пока не выйдет следующая версия Chrome.

Это в основном заставляет HTTPS быть ложным. Исправление в Google Chrome будет доступно в их следующем выпуске, который запланирован на 27 июля 2015 года. До тех пор плагин должен помочь.

Вы можете просмотреть его на GitHub: https://goo.gl/D54cWv.

Ваше здоровье

person VlooMan    schedule 23.07.2015

Вы использовали WooCommerce в своем WordPress? WooCommerce обновлено до последней версии 2.3.13?

Согласно этой статье, существует проблема Google Chrome HTTPS: 1

Я также столкнулся с этой проблемой, но решил ее после обновления WooCommerce до последней версии 2.3.13.

person Elvin Lee    schedule 23.07.2015
comment
WooCommerce использует функцию is_ssl() Wordpress, возможно, последняя версия больше не использует эту функцию... - person Pierre; 23.07.2015