Мы задумались о переезде на HTTPS в декабре 2016. Это дало бы нам чуть больше производительности с HTTP/2, безопасную передачу данных, а Хром начал бы считать наш сайт «надёжным».

19 декабря 2017 года мы переключили сайт бюро на HTTPS и HTTP/2. Переезд занял год по двум причинам: другие приоритеты и ссылки с http://

Расскажу, как разбирались со всем этим, в хронологическом порядке.

Январь

Рассказываем Артёму про HTTPS и светлое будущее, получаем добро. Ничего не начинаем делать, потому что все заняты новым сайтом бюро.

Февраль

Запускаем новый сайт.

Смотрим, что мешает прямо сейчас перейти на HTTPS — небезопасные ссылки. Если страница загружена по HTTPS, браузер не загружает стили, скрипты и шрифты по http://. Страница молча ломается.

К сожалению, на сайте бюро такого полно. Например, проекты в портфолио используют jQuery с http://code.jquery.com, а основной файл со стилями сайта загружает Бюросанс и Бюросериф по HTTP. Если прямо сейчас включить HTTPS, сайт перестанет работать.

Март

Придумываем стратегию миграции. Договариваемся, что все новые сервисы запускаем сразу с HTTPS, а на старых страницах исправляем ссылки на небезопасные ресурсы по правилу бойскаута — «оставляйте страницу чище, чем вы её застали».

Разработчик исправляет подпись к фотографии автора на промостранице «Типографики и вёрстки». Замечает проблемные ссылки:

<script src="http://artgorbunov.ru/js/doublehover.js"></script>
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<link href="http://cdnjs.cloudflare.com/ajax/libs/fotorama/4.6.4/fotorama.css">

Помня о правиле бойскаута, исправляет их таким образом, чтобы они работали и по HTTP, и по HTTPS:

<script src="/js/doublehover.js"></script>
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<link href="//cdnjs.cloudflare.com/ajax/libs/fotorama/4.6.4/fotorama.css">

Апрель

Решаем, что сначала переедем с artgorbunov.ru на bureau.ru. Ставим HTTPS на паузу.

Кроме того, мы забыли про СЕО. Перед переездом надо разобраться с тем, что поисковики плохо видят сайт бюро: поправить непонятные 302 редиректы, разобраться с поддоменами и дублями, добавить robots.txt и сайтмап.

Май — июнь

Исправляем редиректы, разбираемся с поддоменами, добавляем сайтмапы и robots.txt.

Придумываем стратегию миграции с artgorbunov.ru на bureau.ru без потерь пользовательских сессий и кук. Переезжаем на bureau.ru.

Июль

Сертификаты автоматически выдаёт и продлевает Certbot

Возвращаемся к HTTPS. Настраиваем bureau.ru так, чтобы работал и по HTTPS. Сертификаты берём в Let’s Encrypt. HTTPS‑версию скрываем от всех паролем.

Сертификаты автоматически выдаёт и продлевает Certbot

Август

Благодаря правилу бойскаута, большая часть страниц в портфолио готова к HTTPS. Проходимся по HTTPS‑версии вручную, ищем, что ещё сломалось. Собираем в список:

Сентябрь — ноябрь

Готовим к HTTPS главное меню, страницы курсов и школ. Исправляем небезопасные ссылки в стилях и скриптах. Исправляем ссылки в советах: большую часть исправляем автоматически, оставшееся разбираем вручную.

Декабрь

Выбираем время для переезда. Неделя с 18 декабря подойдёт: закончилась первая ступень в школах, ближайший пуск (электронная полка) — 25 декабря.

Собираем чеклист для запуска:

  • редиректить все с http://bureau.ru на https://bureau.ru/;

  • перевести старый сервер с HTTP на HTTPS и HTTP/2;

  • поправить редиректы с artgorbunov.ru на https://bureau.ru;

  • перезапустить nginx;

  • переключить бэкенды на HTTPS;

  • обновить школьные штуки с Гугл‑рейтингом на работу с HTTPS;

  • обновить сайтмап;

  • убедиться, что все критичные подсистемы сайта работают: Бюросфера, привязка карт, запись в школы и на курсы, советы, книги и школьный кабинет;

  • оповестить всех.

19 декабря с 9:00 до 10:30 переводим bureau.ru на HTTPS и включаем HSTS.

Что дальше

Впереди ещё две сложных задачи: безопасные, доступные только по HTTPS, куки и потерянные лайки. О них — в будущих советах.

Ещё по теме

Веб‑разработка
Отправить
Поделиться
Запинить

Рекомендуем другие советы