Skip to content

Домены, Caddy и Cloudflare ​

Как устроено ​

Наружу смотрит только Caddy (порты 80 и 443). Он сам получает и продлевает HTTPS-сертификаты и раздаёт адреса:

АдресЧто там
example.comСайт для клиентов и его API. Пути /admin и админский API здесь отвечают «не найдено»
admin.example.comАдминка. Открыта только разрешённым адресам
docs.example.comЭтот сайт документации. Ставится вместе с движком; без записи DNS docs сайт и админка работают, но Caddy будет повторять попытки получить сертификат для него

Конфиг Caddy проверяется до перезапуска: если в нём ошибка, обновление остановится, а сайт продолжит работать на старом конфиге.

Cloudflare ​

Рекомендуем держать домен за прокси Cloudflare (оранжевое облако): он скрывает IP сервера и защищает от DDoS.

  1. Добавьте домен в Cloudflare и смените NS-серверы у регистратора.
  2. DNS: записи A — @ и admin (и docs, если нужна документация) на IP сервера, прокси включён.
  3. SSL/TLS → Overview: режим Full (strict).
  4. SSL/TLS → Edge Certificates: «Always Use HTTPS» выключить — Caddy сам перенаправляет на HTTPS, а с этой опцией первый сертификат не выпустится.

Настоящий IP клиента

За Cloudflare сервер видит адреса Cloudflare, а не клиентов. Caddy берёт настоящий IP из заголовка CF-Connecting-IP и только от адресов Cloudflare — подделать его в обход прокси нельзя. Страну клиента (CF-IPCountry) тоже принимаем только от Cloudflare. От настоящего IP зависят лимиты, баны, доступ к админке и журнал.

Список адресов Cloudflare зашит в конфиг Caddy. Cloudflare меняет его редко (cloudflare.com/ips); при изменении он приходит с обновлением движка.

Без Cloudflare ​

Движок работает и без Cloudflare: записи A без прокси, сертификаты Caddy получит сам. Заголовки Cloudflare в этом случае просто не используются — IP клиента берётся из соединения.

Заголовки безопасности ​

На всех адресах Caddy отдаёт HSTS (год, с поддоменами), X-Content-Type-Options: nosniff, Referrer-Policy и скрывает свою версию. Админка закрыта от поисковиков (X-Robots-Tag: noindex), документация — открыта.

Документация движка обменника OneSwaper