" title="Написать письмо">Написать письмо

Статистика

Пользователи : 1
Статьи : 1483
Просмотры материалов : 5653176
 
Переход с HTTP на HTTPS (27.07.2020). Печать E-mail
2020 - Июль
27.07.2020 18:00
Save & Share
Предыстория: на моем сайте появились сиськи. Решения проблемы было 2: работать с Content Security Policy (CSP) (сложно), перейти с HTTP на HTTPS (давно пора). Традиционно, для любой крупномасштабной операции с сайтом (а приписывание "s" - это глобальное событие), переход вылился в 11-часовой квест.

Сертификат SSL всегда был платным и уникальным для домена/поддомена. Первым серьезным шагом было примирение с потерей 750руб/год на каждый домен/поддомен - что выливается минимум в 3000руб/год. Рассматривался вариант отказа от поддоменов, объединив путешествия по Москве и области (а также фотографии) с основным сайтом. Но был отклонен, т.к. миграция сайта (в данном случае ручной перенос информации) - муторно и долго.

Внезапно оказывается, что существует бесплатный SSL-сертификат Let's Encrypt (на 1 домен) и Let's Encrypt WildCard (на 1 домен и все поддомены). На сайте хостера отсутствует в списке SSL-сертификатов, но доступен для заказа в древе услуг в достаточно глубоком месте. Далее его необходимо выбрать в настройках домена (включив SSL и переадресацию HTTP->HTTPS заранее).

Сделать бакап баз данных (каждую базу отдельно) и всей виртуальной площадки целиком (обращаться туда придется много раз) - нужно обязательно.

С помощью Notepad++ заменяются вхождения http://www.bad-good.ru на httpS://www.bad-good.ru. Казалось бы, ничего сложного, но есть нюансы:
- в БД каждого домена и поддомена нужно делать эти изменения, равно как и в их файлах. Потому что есть ссылки друг на друга - и ссылки не должны переадресовываться: может пострадать рейтинг. И если в БД с помощью Notepad++ изменения делаются быстро (скачал БД, удалил таблицы с сервера, внес изменения в БД автоматической заменой, залил ее обратно), то упоминания в файлах сайта оказываются в самых разных местах (ищутся с помощью Total Commander в архивной копии и правятся вручную). Это - основные временные потери (например, для изменения файла нужно изменить права 444 на 777 - а потом вернуть права обратно);
- все системы безопасности сайта, направленные на защиту контента сайта, восстанут против своего хозяина. Изображения не будут отображаться, потому что загружаются не на родном сервере http://сайт, а с какого-то стороннего httpS://сайт. RewriteRule сойдет с ума и запустит переадресацию на HTTP, когда хостер уже запустил переадресацию на HTTPS, - бесконечный цикл. Браузер начнет вышибать домен ошибкой "SSL_ERROR_INTERNAL_ERROR_ALERT" (ожидать активации сертификата нужно 1 час);
- поддомены вообще откажутся работать, несмотря на правильно выставленные настройки во всех его файлах. Оказывается, Let's Encrypt WildCard работает только до 3 уровня включительно. Оказывается, сертификат выпускает сторонняя организация за пределами РФ. Оказывается, эта организация может отозвать сертификат без объяснения причин. И оказывается, сертификат считает "www" доменом 4-го уровня - поэтому ни один поддомен не работает;
- значит, это принудительная замена WWW на пустоту, которая ранее приводила к крашу сайта и очень опасна в плане потери рейтинга. Опять лезешь по всем доменам и поддоменам, исправляя повсеместно "www." на пустоту, параллельно включая в настройках площадки переадресацию WWW->без_WWW для каждого адреса. Больше всего пострадал основной домен, т.к. в 2008 году отказ от WWW не планировался - и в CMS все было заточено под него;
- значит, 4 тестовые площадки тоже накрываются - и их нужно создавать заново (проще скопировать файлы и внести привычные изменения - чем опять возиться с переименованиями);
- в сертификате не прописалось имя владельца - оказалось, некритично;
- срок действия сертификата - 3мес, продлевается автоматически, станет платным - уведомят заранее, не дав автоматом пройти первой оплате;
- обнаружилось, что существует тег ViewPort для удобства просмотра сайта с браузера. Размещается в <header>, однако в CMS его нужно было вставить в определенный файл по настолько длинному пути - что не подлежит вспоминанию и даже гуглению из-за отвращения;
- для оценки мобильной страницы пришлось заново регистрироваться в гугле, т.к. вебмастера у него больше нет - но есть Search Console. Гугл требует проверку подлинности домена - требуется разместить запись в DNS-зоне. Как это делать - вопрос отдельный, общение с регистратором имен. И уж точно отдельный вопрос: мои документы у регистратора просрочены - пришлось сканить и высылать им паспорт;
- когда все-таки гугл меня пустил в средства разработки - выяснилось, что сайт еще имеет некоторые ошибки (в т.ч. в robots.txt), которые нужно было поправить - чтобы гугл сделал нормальный анализ. Начинаешь ковырять сайт и исправлять ошибки, которые нашел анализ гугла;
- когда впервые заходишь по HTTPS - браузер показывает желтый треугольник с восклицательным знаком вместо зеленого замочка. Это означает, что на сайте присутствуют внешние ссылки, в которых содержится "http://", и являются незащищенным содержимым. Начинаешь по всей базе и файлам виртуальной площадки рыть эти внешние ссылки. Получение зеленых замочков на каждом из адресов - еще одна емкая по времени проблема;
- в процессе обработки ссылок обнаружились "http://www.w3.org/1999/xhtml" и "http://www.w3.org/TR", которые задолбался вычищать, ведь они же "http://".

Если знать все тонкости - миграция займет часов 7 (но даже такое время прилично: по факту - 1 рабочий день). За 11 часов поддомены не работали часов 10, домен на продолжительное время падал раза 4, в конце болели пальцы, а кнопки на клавиатуре блестели чистотой.

Итог на следующий день: спам-сиськи исчезли навсегда.

Этот пост - яркое доказательство того, что спам и быдло, его рассылающее, лишают нормальных людей времени и денег. Бесплатность сертификата SSL оказалась ну очень приятной неожиданностью - а ее могло и не быть.

И прямо в эту минуту вижу косяки: не все ссылки поддоменов в домене оказались заменены. И количество открываемых материалов на страницу слетело с 2000 до 50. Сколько еще настроек сбито - неизвестно.

(добавлено 28.07.2020) Странный феномен: посещаемость резко выросла. Возможно, поисковики более лояльны к тем, кто имеет сертификат SSL и исправляет ошибки сайта, - и продвигают сайт выше по списку. То есть, через гугл стало народу приходить больше - в то время как через мейл-ру, наоборот, сократилось: что-то не то со счетчиком - скатился на 100 позиций вниз. А именно: если рисунок счетчика указан через http - счетчик работает нормально, но теряется зеленый замочек рядом с адресом. Естественно, выбор сделан в пользу SSL - и рисунок счетчика через https не отображается.

Программа Xenu не умеет сканировать сайт с HTTPS: сразу происходит connection reset. Нужно искать другой способ сканировать сайты на битые ссылки.

(добавлено 01.08.2020) Программа Xenu так и не смогла работать с HTTPS и отправлена на покой. Удалось найти ей единственную адекватную замену: Screaming Frog SEO Spider. В ней также удобно просматривать результаты по различным категориям: HTTP, HTTPS, номер ошибки и т.д.

В результате было найдено порядка 600 внутренних ссылок, начинающихся на http://, а не https://. Автозамена в Notepad++, получается, не совсем полная.

Также есть порядка 20 внешних ссылок, которые тоже перешли на HTTPS. Каждый год приходится внешние ссылки сканировать и править (выборка из 1500шт за 12 лет). Будете делать свой сайт - любыми способами избегайте внешних ссылок, в идеале их должно быть ни одной. А если требуется указать - так и стоит писать: "на ютубе есть юзер такой-то, видео такое-то".

Во время обновления плагинов в админке, после перехода на HTTPS, один из поддоменов полностью накрылся. Теперь нужно запрещать обновления на всех поддоменах. Это оказался Nextgen Gallery. Связка нового плагина с невозможностью обновления самой админки (на сервере не та версия PHP). Изменение же версии PHP (понятно, еще одна миграция) в прошлый раз привела к проблемам - поэтому трогать пока (или вообще) не надо.

Также пришлось переписывать ПО по сбору контента сайта.

Суммарно - еще минус 1 день. Потому что еще сканировать все поддомены.

(добавлено 29.09.2020) Мейл-ру изменил код счетчика много лет назад, как раз для работы с HTTPS. Проблема в том, что новый код, полученный от них, - отказывается на сайте работать. Зона счетчика вообще исчезла теперь.

(добавлено 01.10.2020) Мейл-ру исправила баг на своем сайте - стал доступен не только код счетчика, но и код логотипа. Все работает.

(добавлено 13.10.2020) Teleport Pro отказывается работать с HTTPS. Теперь и ей замену искать надо.

(добавлено 14.10.2020) Все архивы сайта нужно изменять: внутри находится файл-ссылка, ведущий на старый сайт HTTP+WWW. Как следствие - переадресация пользователя. А переадресация - поисковиками не приветствуется. В итоге еще и размер архива может измениться (версия архиватора более новая) - его потребуется править на страницах сайта. А архивов - около 150шт.

Также непонятно, что делать с водяными знаками на изображениях (тоже старый вариант). Похоже, ничего: водяной знак стравить сложно, а на добавление нового тоже нужно время. И изображений на сайте уж точно не 150 и не 1000.

(добавлено 25.10.2020) Архивы обновил - но размеры их изменились, некоторые - значительно. В итоге: скачивание архива 4КБ, заявленный размер которого на сайте 2КБ, может вызвать вопросы у дотошного пользователя. На изменение описаний размера архивов на сайте сил уже не осталось.

(добавлено 04.11.2020) После перехода на HTTPS перестали обрабатываться файлы для SiteMap. Нужно переписывать их адреса вручную во всех доступных поисковиках.

Для некоторых страниц невозможно исправить ошибку "контент шире экрана" из-за разрушения целостности статьи (например, убийство ссылок при изменении таблиц на рисунки).
Обновлено ( 14.02.2021 17:17 )
 
 

Последние новости


©2008-2021. All Rights Reserved. Разработчик - " title="Сергей Белов">Сергей Белов. Материалы сайта предоставляются по принципу "как есть". Автор не несет никакой ответственности и не гарантирует отсутствие неправильных сведений и ошибок. Вся ответственность за использование материалов лежит полностью на читателях. Размещение материалов данного сайта на иных сайтах запрещено без указания активной ссылки на данный сайт-первоисточник (ГК РФ: ст.1259 п.1 + ст.1274 п.1-3).

Много статей не имеет срока устаревания. Есть смысл смотреть и 2011, и даже 2008 год. Политика сайта: написать статью, а потом обновлять ее много лет.
Открыта карта ВТБ для материальной поддержки сайта: 5368 2902 0040 0838.

Рекламодателям! Перестаньте спамить мне на почту с предложениями о размещении рекламы на этом сайте. Я никогда спамером/рекламщиком не был и не буду!
Top.Mail.Ru