раздел 04
Базовая настройка, домен и SSL
Что это
Свежий Droplet - голая Ubuntu. Перед тем как выкладывать продукт, делают обязательную гигиену: обновления, firewall, привязка домена и https. Логика та же, что и на любом сервере.
Зачем
Чтобы сервер был защищён (закрытые порты, свежие пакеты) и доступен по красивому адресу с https, а не по IP без шифрования.
Обновления
apt update && apt upgrade -y
Firewall
У DigitalOcean есть два варианта: облачный Cloud Firewall в панели (управляется снаружи Droplet) или ufw на самом сервере. Для старта достаточно ufw:
ufw allow OpenSSH
ufw allow 80
ufw allow 443
ufw enable
Привязка домена
DigitalOcean умеет управлять DNS сам (Networking - Domains), либо вы настраиваете DNS у своего регистратора. В любом случае нужна A-запись на публичный IP Droplet:
тип: A имя: @ значение: <IP вашего Droplet>
Через некоторое время домен начнёт вести на сервер.
nginx + SSL
nginx принимает запросы из интернета и направляет их вашему приложению:
apt install nginx -y
SSL (https) - бесплатный сертификат от Let's Encrypt через certbot: ставите certbot, указываете домен, он сам получает и автоматически продлевает сертификат, nginx переключает сайт на https. Детали зависят от стека, но логика всегда: домен на IP, nginx на 80/443, certbot выдаёт https.
Пример
Создали Droplet, обновили пакеты, настроили ufw, в Networking - Domains добавили домен с A-записью на IP, поставили nginx, выпустили сертификат через certbot. Сайт открывается по https://example.com.
Антипаттерны
- Прод без обновлений и firewall. Открытый сервер быстро находят боты.
- Сайт без https. Браузеры пометят как небезопасный.
- Лишние открытые порты. Чем меньше открыто, тем безопаснее.
Что дальше
Разберём DigitalOcean Spaces - S3-совместимое хранилище для файлов и бэкапов.