Задача
Настроить сервер (Nginx) для корректной работы статического HTML-сайта через Cloudflare. В настоящий момент сайт открывается с ошибками на хостинге.
Условия работы
- Сервер должен отдавать только статический HTML-сайт.
- Работать за Cloudflare, то есть все запросы от браузера сначала идут на Cloudflare, затем от него к вашему Nginx.
- HTTP принудительно перенаправлять на HTTPS (защищённое соединение) посредством server-части конфигурации или Cloudflare Page Rules.
- Для аутентификации перед Cloudflare использовать Cloudflare Origin Certificate - полученный от панели Cloudflare SSL/TLS сертификат. Режим шифрования в Cloudflare должен быть Full или Full (strict).
- Все статические файлы (CSS, JS, изображения, шрифты и пр.), расположенные, к примеру, в директории
/assets/…, должны корректно загружаться по прямым URL. - На сервере не должно показываться значение по умолчанию
Welcome to nginx! - главная страница вашего сайта.
Уточнение работы Cloudflare
Браузер подключается не напрямую к серверу, а сначала к Cloudflare (оранжевое облако включено для DNS-зоны), затем Cloudflare по собственной инфраструктуре отправляет HTTPS-запрос к вашему Nginx. Для этого необходимо:
- Добавить файлы сайта (HTML, CSS/JS, изображения и пр.) на диск сервера.
- Настроить в Cloudflare SSL-режим Full (strict) или Full (используются Origin-сертификаты).
- Убедиться, что в конфигурации Nginx содержатся правильные корень документа и индексы (index.html).
- После настройки проверить, что прямые ссылки на стартовую страницу и поддиректории (слеш) выполняются без редиректов и без ошибок 403/404.
- Исключить показ дефолтной страницы Nginx.
Важно!
DNS-записи должны поддерживать оранжевое облако (прокси через Cloudflare), SSL-режим - Full или Full (strict). Если облако серое или SSL не Full, браузер попробует попасть на IP сервера напрямую, где у вас нет публично доверенного сертификата, и показётся либо Welcome to nginx, либо вылетит ошибка редиректа.