Запретить Google Chrome обрабатывать все URL-адреса с общей базой как SSL-соединения

Запретить Google Chrome обрабатывать все URL-адреса с общей базой как SSL-соединения

Я размещаю несколько веб-сайтов через DNS-имя, предоставленное провайдером, и разделяю их за пределами порта 80 моего маршрутизатора, используя установку haproxy. Это работало очень хорошо для моих (кажется, их 11) уникальных веб-сайтов, пока я не изменил один из них на https.

Теперь Google Chrome предполагает, что все мои веб-сайты имеют протокол https, и я могу получить доступ только к тому, который имеет протокол https :-(

Я подозреваю, что Chrome делает это потому, что все мои веб-сайты начинаются с моего доменного имени (myexampledomain.com). Пример сайта 1 будетhttp://myexampledomain.com/website-one/main.htmlи пример сайта 2 будетhttps://myexampledomain.com/website-two/main.htmlи по какой-то причине, после того как chrome успешно получил доступ к ссылке https, ссылка без https автоматически становится доступной как https. Удалите s (чтобы получилось http), и chrome просто добавит ее обратно.

Когда я захожу на свои сайты через Internet Explorer 9, они все еще работают нормально, или, по крайней мере, к ним можно получить доступ без автоматического автозаполнения соединения как https. Так что нет, нет перенаправления http-to-https где-то на моем бэкенде, это просто Chrome глупит. Кто-нибудь знает, почему Chrome глупит, и есть ли способ по-прежнему получать доступ к моим другим сайтам из Chrome? Я ненавижу IE, и его использование причиняет мне физическую боль ;-)

решение1

(Чтобы записать наше обсуждение как правильный ответ:)

Google Chrome (как и все другие современные браузеры) поддерживаетСтрогая транспортная безопасностьHTTP-заголовок, который сообщает браузеру, что «к этому сайту должен быть доступ только через HTTPS, поэтому в будущем, даже если пользователь запросит HTTP, вместо этого отправьте ему HTTPS». Поскольку использование HTTPS становится все более распространенным, отправка этого заголовка становится значением по умолчанию в новом программном обеспечении и фреймворках, поскольку, как правило, если HTTPS вообще настроен (что необходимо для того, чтобы заголовок Strict-Transport-Security имел какой-либо эффект), предпочтительнее использовать его для всего. Как вы обнаружили, используемое вами программное обеспечение по умолчанию настроено на такое поведение. Вы не видели такого поведения в Internet Explorer 9, поскольку он слишком старый, чтобы поддерживать эту функцию веба.

Два решения: (1) изменить конфигурацию программного обеспечения, чтобы не отправлять заголовок, поскольку вы не хотите заставлять всех пользователей использовать HTTPS, или (2) изменить весь ваш сайт для корректной работы через HTTPS. Я бы рекомендовал второй вариант, поскольку после настройки сервера и рабочего сертификата HTTPS в настоящее время нет необходимости использовать незашифрованное соединение в Интернете.

решение2

Согласно комментарию Питера Купера-младшего, моя душевная боль вызвана моей установкой NGINX в комплекте с gitlab omnibus, которая фактически сообщает подключающимся клиентам, что они должны всегда использовать только https при взаимодействии с ним, а в случае Gitlab/NGINX период безопасной связи установлен на 24 месяца!

Информация о заголовках STS:http://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security
Информация об установке Gitlab:https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/nginx.md

Связанный контент