о разработке и не только

Искать по годам: 2024 | по тегам | смотреть избранное ⭐️ или сразу всё

Cloudflare: HTTPS и SSL

Итак, у вас есть домен, который вы перенесли в Cloudflare. Сразу же после его добавления и настройки на платформе к нему автоматически выдаются два SSL-сертификата: основной и запасной, с разными Certificate Authority — Let’s Encrypt, Sectigo, Google Trust Services. Время жизни сертификатов — 3 месяца, после — автопродление. Удобно.

Вот, как это выглядит:

Обратите внимание, что это Edge Certificates. Поскольку платформа по-умолчанию проксирует трафик на сайт через себя, эти «пограничные» сертификаты используются только на участке «пользователь — Cloudflare». Там же можно включить настройку «Always use HTTPS», и ожидаемо получить автоматические редиректы — но только всё на том же участке! Трафик от Cloudflare до сервера будет передаваться без шифрования!

Обновив страницу блога, я получил несколько ошибок в консоли вида «Mixed content: request has been blocked» — падали асинхронные запросы, инициированные где-то в JavaScript. Также не работало сохранение записей и некоторые редиректы — видимо, всё по той же причине 😭

Опытным путем я понял, что надо бы шифровать весь трафик E2E, а для этого нам понадобится Origin Certificate — как раз-таки тот, который отвечает за оставшийся путь от Cloudflare до сервера (в моем случае до Nginx).

Да, его действительно можно получить на 15 (!) лет

Нажав на кнопку «Create», мы получим, по сути, две строки: сам сертификат и приватный ключ для него. Для добавления их в Nginx Proxy Manager, я сохранил их как файлы и импортировал так, как показано на втором снимке в галерее ниже:

Отлично, осталось только подключить полное шифрование в Cloudflare...

...и протестировать, что получилось.

Добро пожаловать на новый домен: eviterno.online!

Отправить
Поделиться
Запинить