Администрирование BДС (вопрос/ответ)

44.05K
.
Enter нажат, к чему теперь рыданья…
У меня такой вопрос - как можно, и возможно ли такое вообще, вернуть сайт с протокола HTTPS на HTTP? Как перевести сайт на HTTPS статей целый океан, а как обратно, ни одной гГ. Причём перевести же надо так, чтобы пользователям ошибка не выдавалась.
Вся проблема в HTTPS, и это очень большая проблема для сайтов, блокирование незащищённого контента. Если скрипты, или что-то другое с других серверов работает по протоколу http на вашем сайте с https, то всё - сушите вёсла, сайт станет частично неработоспособным, этот контент будет блокироваться.
.
Simba
Кадило крутится, лавэха мутится
# Sitego (22.05.2016 / 21:16)
У меня такой вопрос - как можно, и возможно ли такое вообще, вернуть сайт с протокола HTTPS на HTTP? Как перевести сайт на HTTPS статей целый океан, а как обратно, ни одной гГ. Причём перевести же над
301 Редирект настрой и все.
.
Enter нажат, к чему теперь рыданья…
Simba, и ничего это не даёт это вечный редирект на браузерах, которые уже один раз побывали на сайте и схавали сертификат. Они автоматом будут редиректися на https, а 301 редирект и будет их перенаправлять на http и в итоге циклическая переадресация.
Страница *** не работает
Сайт *** выполнил переадресацию слишком много раз
.
Кадило крутится, лавэха мутится
# Sitego (22.05.2016 / 21:53)
Simba, и ничего это не даёт это вечный редирект на браузерах, которые уже один раз побывали на сайте и схавали сертификат. Они автоматом будут редиректися на https, а 301 редирект и будет их перен
Все там дает если нормально настроить.
.
Enter нажат, к чему теперь рыданья…
Simba, как? Напиши пожалуйста, если знаешь.
.
Enter нажат, к чему теперь рыданья…
Если браузер чистый, то есть ни разу не был на сайте, то он без проблем заходит по http/ Но если браузер уже знает этот сайт и у него в профиле записан сертификат сайта, то при попытке зайти на этот сайт по http, браузер либо вообще не пустит, выдаст ошибку с предупреждением, либо при редиректе получается бесконечный цикл переадресаций.
И в интете фиг что по этому поводу найдёшь, всё только о том, как переходить на https, а не обратно. Есть конечно статьи, чем это грозит при использовании смешанного контента, но ни одно описанное решение не подходит.
Хоть бери, и домен теперь меняй
.
Кадило крутится, лавэха мутится
Sitego, значит у тебя видимо настроен редирект с http на https.
Убери его и настрой редирект с https на http
Вот можешь проверить сам. Редиректы не настроены, оба варианта доступны и никуда не перекидывает.
https://symbos.su/
http://symbos.su/
.
Enter нажат, к чему теперь рыданья…
Simba, редиректа нет, чистая папка без файлов на домене. У тебя всё нормально, на оба протокола зайти можно, а у меня нифига, причём со всех браузеров ошибка, и на сервере, и на локалке.
.
Кадило крутится, лавэха мутится
# Sitego (22.05.2016 / 23:19)
Simba, редиректа нет, чистая папка без файлов на домене. У тебя всё нормально, на оба протокола зайти можно, а у меня нифига, причём со всех браузеров ошибка, и на сервере, и на локалке.
Значит все таки где то есть редирект. Просто так перекидывать не будет) ищи внимательнее)
.
Sitego
Enter нажат, к чему теперь рыданья…
Simba, нашёл я причину такого поведения. Перелопатил целую кучу сайтов и статей. Дело в том, что браузеры запоминают по какому протоколу обращаться к сайту, если на сервере включена повышенная безопасность, а именно HSTS (Header Strict Transport Security). Один раз зашедший браузер получает инструкцию, что к этому сайту подключаться можно только по https и потом, как ты его не проси и не заставляй, не уговаривай и умоляй, но он всегда будет редиректить на https, даже если ты отключишь SSL и закроешь 443 порт. Причём эта директива запоминается так, что никакие чистки кеша, истории, закладок, печенек и всего остального - не поможет!

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

Решается на уровне сервера разными вариантами, смотря какой сервер. У меня Nginx+Apache, поэтому мне в Nginx требовалось настроить HSTS таким образом, чтобы у пользователей сбросилась эта директива.

На Nginx это делается с помощью строки в секции server:
add_header Strict-Transport-Security "max-age=0;";

Т.е. выставляем время жизни HSTS '0' (по умолчанию 1 год стоит - 31536000), и всё готово.

Это я так, кратко описал причину, почему у меня на сайте происходил цикличный редирект (как оказалось - не только у меня такое было). А вообще изучая данную тему, аж целых два вечера, выясняя причину поведения браузеров с https и без, насобирал себе материал и знания на целую статью
Всего: 2136