Зачем Chrome переписывать ссылки на страницах из схемы http: // в https: //?

666
zoot

Я полностью озадачен этой проблемой:

При посещении веб-сайта, который является виртуальным хостом, без поддержки SSL и без ссылки на какую-либо схему https: // в его базе данных или любой файл в его темах, конфигурации и т. Д. (Это веб-сайт WordPress), Chrome переписывает ссылки на странице, чтобы использовать схему https: //.

Эта проблема не возникает при посещении веб-сайта с использованием Firefox или IE. Основной операционной системой является Windows 7.

Я попробовал следующее, но безуспешно:

  • Удалите локальные данные Chrome пользователя, если это проблема с кэшированием
  • Установлен последний Chrome
  • Отключены все плагины
  • Отключенные антивирусные программы
  • Удалил имя хоста из базы данных Chrome HSTS, найденной в chrome: // net-internals - здесь также обсуждается Chrome: как остановить перенаправление с http: // на https: //

Примечание: веб-сервер прослушивает только порт 443 с сертификатом SSL для имени хоста веб-сервера хоста.

Например, для большей ясности веб-сервер отвечает необработанным HTML:

<html> ... <a href="http://hostname">link</a> ... </html> 

Chrome переписывает ссылки на странице так, чтобы он отображался как:

<html> ... <a href="https://hostname">link</a> ... </html> 

Будем весьма благодарны за дальнейшие предложения относительно того, что может быть причиной этого.

0
Это происходит только с WordPress или даже со статическими .html-страницами с одного хоста? Можете ли вы проверить с помощью Wireshark, что он получает `a href =" http: // "` с сервера? grawity 9 лет назад 0
Я думаю, что это политика Chrome, поэтому, если домен имеет доступ https: //, и вы пытаетесь использовать http, Chrome вернет это в автоматическом режиме. emirjonb 9 лет назад 0
Спасибо @grawity - как я собирался сравнить статические / динамические заголовки страниц, кто-то вызвал с решением, ниже. zoot 9 лет назад 0

1 ответ на вопрос

2
zoot

My customer's son called, having looked at WooCommerce which was installed and discovered the reason. The official WooCommerce release:

http://develop.woothemes.com/woocommerce/2015/07/woocommerce-2-3-13-security-and-maintenance-release/

One small but important fix in 2.3.12 was related to SSL detection. WooCommerce for the most part relies on the WordPress function is_ssl() to detect whether or not a page is being served via SSL. WooCommerce had a small function for making this function compatible with some edge-case hosting environments. This however was causing some installs of Google Chrome to incorrectly think a URL was SSL.

Похожие вопросы