502 Bad Gateway: Почему Nginx и PHP не слышат друг друга?
Привет, инженеры! 🖖
Знакомая картина: развернули проект, настроили конфиги, дергаете курлом — а там 502 Bad Gateway. И начинается: рестарт служб, чтение логов по диагонали, паника.
Давайте разберем на пальцах, без магии.
В связке Nginx + PHP-FPM (классический LEPP/LEMP) Nginx — это привратник. Он получает запрос, видит, что это .php, и понимает: "Я такое не умею, надо отдать тому, кто умеет". И пытается постучаться к PHP-FPM.
Где обычно происходит "затык"?
В способе связи. Nginx может стучаться двумя способами:
1. Через TCP-порт (например, `127.0.0.1:9000`).
2. Через Unix-сокет (файлик на диске, например, `/run/php/php8.1-fpm.sock`).
Проблема в том, что в конфиге Nginx вы пишете одно, а PHP-FPM слушает другое.
Пример из жизни (и нашего курса):
В /etc/nginx/sites-enabled/default вы написали так (ожидаете сокет):
А в конфиге пула PHP-FPM (`/etc/php/8.1/fpm/pool.d/www.conf`) стоит дефолт или кто-то поменял на порт:
Итог: Nginx кричит в "трубу" (файл сокета), а PHP ждет звонка по "телефону" (TCP порт). Результат — 502. Nginx не может достучаться до бэкенда.
Как лечить и, главное, ПОНИМАТЬ такие вещи?
Не методом тыка, а через понимание архитектуры. Именно про это мой обновленный курс LEPP Stack. Мы не просто учим копипастить конфиги, мы учим понимать:
— Как проходит HTTP-запрос от клиента до базы.
— Как тюнить Nginx и PHP-FPM на уровне ядра.
— Как траблшутить, когда всё упало.
🔥 Мы разработали новую программу!
Без"воды", чистое мясо: от голой VM до деплоя MediaWiki и упаковки всего этого в Docker.
🗓 Старт: Доступ открываем 24 февраля.
📄 Подробная программа курса: [Смотреть PDF]
💰 Цена: 22 000 ₽25 000 ₽ до 23 февраля включительно.
👉 Забирай модуль здесь: [Купить LEPP Stack]
Привет, инженеры! 🖖
Знакомая картина: развернули проект, настроили конфиги, дергаете курлом — а там 502 Bad Gateway. И начинается: рестарт служб, чтение логов по диагонали, паника.
Давайте разберем на пальцах, без магии.
В связке Nginx + PHP-FPM (классический LEPP/LEMP) Nginx — это привратник. Он получает запрос, видит, что это .php, и понимает: "Я такое не умею, надо отдать тому, кто умеет". И пытается постучаться к PHP-FPM.
Где обычно происходит "затык"?
В способе связи. Nginx может стучаться двумя способами:
1. Через TCP-порт (например, `127.0.0.1:9000`).
2. Через Unix-сокет (файлик на диске, например, `/run/php/php8.1-fpm.sock`).
Проблема в том, что в конфиге Nginx вы пишете одно, а PHP-FPM слушает другое.
Пример из жизни (и нашего курса):
В /etc/nginx/sites-enabled/default вы написали так (ожидаете сокет):
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock; # <-- Nginx ищет файл здесь
}
А в конфиге пула PHP-FPM (`/etc/php/8.1/fpm/pool.d/www.conf`) стоит дефолт или кто-то поменял на порт:
; listen = /run/php/php8.1-fpm.sock ; <-- Закомментировано!
listen = 127.0.0.1:9000
Итог: Nginx кричит в "трубу" (файл сокета), а PHP ждет звонка по "телефону" (TCP порт). Результат — 502. Nginx не может достучаться до бэкенда.
Как лечить и, главное, ПОНИМАТЬ такие вещи?
Не методом тыка, а через понимание архитектуры. Именно про это мой обновленный курс LEPP Stack. Мы не просто учим копипастить конфиги, мы учим понимать:
— Как проходит HTTP-запрос от клиента до базы.
— Как тюнить Nginx и PHP-FPM на уровне ядра.
— Как траблшутить, когда всё упало.
🔥 Мы разработали новую программу!
Без"воды", чистое мясо: от голой VM до деплоя MediaWiki и упаковки всего этого в Docker.
🗓 Старт: Доступ открываем 24 февраля.
📄 Подробная программа курса: [Смотреть PDF]
💰 Цена: 22 000 ₽
👉 Забирай модуль здесь: [Купить LEPP Stack]
👍15🔥3❤2👎1
Февраль — идеальное время, чтобы прокачать навыки и зайти в весну уже с новым уровнем.
- 10 грантов по 60 000 ₽ на практикум DevOps-инженер
- 10 грантов по 50 000 ₽ на практикум Сисадмин с нуля
В этот раз сделали максимально просто: на платформе уже указана финальная стоимость с учётом гранта.
Когда гранты закончатся — автоматически вернётся полная цена.
Какие практикумы участвуют:
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Rebrain
🔥9❤6👏4👎1
1️⃣ Списки контроля доступа (ACL) на маршрутизаторах Eltex
Время проведения:
17 февраля 2026, вторник, 19:00 по МСК
Программа практикума:
Кто ведёт?
Андрей Шабалин — Тренер Cisco / Huawei, инструктор академии Eltex и Астра-Университета
---------------------------------------------------------------------------------------
2️⃣ Linux From Scratch - 04
Время проведения:
18 февраля 2026, среда, 20:00 по МСК
Программа практикума:
Кто ведёт?
Андрей Буранов — системный администратор в департаменте VK Play, 10+ лет опыта работы с ОС Linux, 8+ лет опыта преподавания. Входит в топ 3 лучших преподавателей образовательных порталов
---------------------------------------------------------------------------------------
3️⃣ Командная работа с Terraform: настройка Remote State
Время проведения:
19 февраоя 2026, четверг, 20:00 по МСК
Программа практикума:
Кто ведёт?
Дмитрий Куликов — DevOps-инженер с 7+ лет опыта в IT. Специализация: построение и автоматизация IT-инфраструктуры.
Please open Telegram to view this post
VIEW IN TELEGRAM
Rebrain
Ошибка 404
DevOps, Kubernetes, Docker, Linux, HighLoad, обучение онлайн, онлайн-практикумы, вебинары, обучение DevOps, обучение Linux, обучение HighLoad, обучение Docker, корпоративное обучение DevOps, обучение Kubernetes, корпоративное обучение Docker, корпоративное…
👍9❤3👎1
Ребята! ❌ Отмена вебинара по техническим причинам по теме "Фидбек, как инструмент роста". Приносим извинения😞
👍20👎3❤2🔥2👏1
Kubernetes давно стал обычной частью инфраструктуры, а не чем-то «только для DevOps». Но важнее даже не сам Kubernetes, а понимание того, как он устроен внутри: control plane, поды, сервисы, RBAC и вся логика, на которой держится современный прод.
С этим рано или поздно сталкивается любой инженер — DevOps, Backend, SRE, инфраструктурный инженер. И когда есть крепкая база и понимание механики, всё остальное в Kubernetes начинает складываться гораздо быстрее
Запускаем новый Live Class с Василием Озеровым — живое обучение + практика + системный фундамент Kubernetes.
Live Class «Базовые ресурсы и механика Kubernetes» — это:
Программа живых классов:
26.02 — Архитектура, API и Reconciliation Loop
03.03 — Pods и Workloads (Deployment, ReplicaSet)
05.03 — Networking: Services и DNS
10.03 — Доступ и безопасность: RBAC
12.03 — Конфигурация и события (ConfigMaps, Secrets, Events)
17.03 — Q&A сессия: ответы на вопросы
- практикум Kubernetes Base + Live Class
- только практикум Kubernetes Base
- только Live Class
↘️ Узнать подробности и занять место
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤5🔥5👎1
Многие просили гранты на практикум LLM для инженеров — и мы вместе с партнёром Fevlake сделали 🤝 Но предупреждаем сразу: большая часть грантов уже закончилась.
Сейчас из актуального осталось:
- 5 грантов по 15 000 ₽ — на практикум
- 5 грантов по 20 000 ₽ — на практикум + записи с Васей Озеровым
- 4 гранта по 60 000 ₽ — DevOps-инженер
❌ гранты на Сисадмин с нуля закончились
Условия остаются прежними: на платформе уже указана финальная стоимость с учётом гранта. Когда гранты закончатся — автоматически вернётся полная цена. Чтобы получить — переходите по ссылкам программы выше☝️ или пишите менеджерам в TG . Наш менеджер свяжется и расскажет детали.
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Rebrain
💯2
Дублируем текстом, чтобы всем было удобно.
Делимся новостями: мы наконец-то добрались до большой доработки доступов и обновлений. Будет 4 этапа, давайте всепо порядку.
Этап1️⃣ . Подготовка (уже завершили)
Вы его не видели, но мы перелопатили кучу всего: заархивировали старое, выпустили рефакторинги, внедрили мессенджер. Было тяжело, но мы справились.
Этап2️⃣ . «Операция Учебник» (стартуем сегодня)
Возвращаем доступы всем, у кого их когда‑то забрали по старым правилам.
• Прощаемся с форматом «учебник» (только теория, без практики) — всех переселяем в полные версии программ.
• Снимаем ограничения по времени и послепрохождению: теперь у всех будут полноценные курсы с практикой и интерактивами. Кроме интенсивов вроде DevOps Workshop — они были синхронными, там доступ останется только на чтение.
Процесс займёт около месяца, от вас ничего не нужно — всё обновим сами. Ждите письма на почту.
Этап3️⃣ . Бесплатное обновление
После восстановления доступов запустим обновление всех программ до новых версий. Тоже бесплатно для всех желающих.
Этап4️⃣ . Новая оферта
Дадим возможность выбрать и докупить менторскую поддержку и часы проверки инфраструктуры.
На связи!
Делимся новостями: мы наконец-то добрались до большой доработки доступов и обновлений. Будет 4 этапа, давайте всепо порядку.
Этап
Вы его не видели, но мы перелопатили кучу всего: заархивировали старое, выпустили рефакторинги, внедрили мессенджер. Было тяжело, но мы справились.
Этап
Возвращаем доступы всем, у кого их когда‑то забрали по старым правилам.
• Прощаемся с форматом «учебник» (только теория, без практики) — всех переселяем в полные версии программ.
• Снимаем ограничения по времени и послепрохождению: теперь у всех будут полноценные курсы с практикой и интерактивами. Кроме интенсивов вроде DevOps Workshop — они были синхронными, там доступ останется только на чтение.
Процесс займёт около месяца, от вас ничего не нужно — всё обновим сами. Ждите письма на почту.
Этап
После восстановления доступов запустим обновление всех программ до новых версий. Тоже бесплатно для всех желающих.
Этап
Дадим возможность выбрать и докупить менторскую поддержку и часы проверки инфраструктуры.
На связи!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥38👍13❤6👏3
Привет!👋
Часто в чатах и на созвонах одна и та же боль: народ хочет въехать в Kubernetes, но не знает, с какой стороны подойти.
💡 Сделали для вас простую штуку
Собрали в одном месте записи наших открытых практикумов по Kubernetes. Это не скучные слайды, а живые разборы того, что реально нужно на практике.
👉 ТЫК, ЧТОБЫ ОТКРЫТЬ ПЛЕЙЛИСТ
Плейлист полностью🔥 бесплатный🔥 . Просто переходите, в меню выбираете раздел «Видео» и смотрите в своё удовольствие. Никаких оплат, подписок и смс.
О чём там?
Разбираем базовые механики, смотрим, как это всё работает под капотом, и сразу приземляем на реальные задачи. В плейлисте вы найдете следующие темы:
🔹 Как запустить свой первый сервис в Kubernetes — пошаговая инструкция для тех, кто только подступается.
🔹 Ingress vs Gateway API — разбираемся, что круче и когда что юзать.
🔹 Service Mesh на базе Linkerd — зачем он нужен и как упрощает жизнь.
🔹 Keycloak OAuth2: Подключение Kubernetes и SSO Kubernetes через Keycloak. Часть 2 — две части про единый вход и безопасность.
🔹 Kubernetes: The Hard Way — для любителей хардкора: поднимаем кластер с нуля без готовых скриптов.
🔹 Custom Resource Definition и Kubebuilder и Kubernetes-операторы — как расширять API Kubernetes и писать своих операторов под любые задачи.
В общем, есть всё: от самых основ до тем, которые обычно докидывают на собесах мидлов.
Но если хотите системно прокачаться и с живым общением...
Приходи на Live Class «Базовые ресурсы и механика Kubernetes». Это 6 живых онлайн вебинаров с Васей Озеровым, где мы не просто смотрим видосы, а реально кодим, разбираем ваши грабли и закладываем нормальный, структурированный фундамент.
Три формата участия, чтобы каждый выбрал под себя:
🟢 Варианты:
1. Практикум Kubernetes Base + Live Class — для тех, кто хочет максимально плотно зайти и с теорией, и с живой практикой под моим присмотром.
2. Только практикум Kubernetes Base — если нужны материалы и структура, но в своем темпе.
3. Только Live Class — чисто живое общение и разборы, без базового курса.
Если только начинаете путь в K8s — сначала гляньте бесплатный плейлист.
👉Ссылка на бесплатный плейлист еще раз 👈
Это лучшая прививка от страха непонятных терминов и отличный способ понять, ваше это или нет.
Погнали!
Часто в чатах и на созвонах одна и та же боль: народ хочет въехать в Kubernetes, но не знает, с какой стороны подойти.
Собрали в одном месте записи наших открытых практикумов по Kubernetes. Это не скучные слайды, а живые разборы того, что реально нужно на практике.
👉 ТЫК, ЧТОБЫ ОТКРЫТЬ ПЛЕЙЛИСТ
Плейлист полностью
О чём там?
Разбираем базовые механики, смотрим, как это всё работает под капотом, и сразу приземляем на реальные задачи. В плейлисте вы найдете следующие темы:
🔹 Как запустить свой первый сервис в Kubernetes — пошаговая инструкция для тех, кто только подступается.
🔹 Ingress vs Gateway API — разбираемся, что круче и когда что юзать.
🔹 Service Mesh на базе Linkerd — зачем он нужен и как упрощает жизнь.
🔹 Keycloak OAuth2: Подключение Kubernetes и SSO Kubernetes через Keycloak. Часть 2 — две части про единый вход и безопасность.
🔹 Kubernetes: The Hard Way — для любителей хардкора: поднимаем кластер с нуля без готовых скриптов.
🔹 Custom Resource Definition и Kubebuilder и Kubernetes-операторы — как расширять API Kubernetes и писать своих операторов под любые задачи.
В общем, есть всё: от самых основ до тем, которые обычно докидывают на собесах мидлов.
Но если хотите системно прокачаться и с живым общением...
Приходи на Live Class «Базовые ресурсы и механика Kubernetes». Это 6 живых онлайн вебинаров с Васей Озеровым, где мы не просто смотрим видосы, а реально кодим, разбираем ваши грабли и закладываем нормальный, структурированный фундамент.
Три формата участия, чтобы каждый выбрал под себя:
🟢 Варианты:
1. Практикум Kubernetes Base + Live Class — для тех, кто хочет максимально плотно зайти и с теорией, и с живой практикой под моим присмотром.
2. Только практикум Kubernetes Base — если нужны материалы и структура, но в своем темпе.
3. Только Live Class — чисто живое общение и разборы, без базового курса.
Если только начинаете путь в K8s — сначала гляньте бесплатный плейлист.
👉Ссылка на бесплатный плейлист еще раз 👈
Это лучшая прививка от страха непонятных терминов и отличный способ понять, ваше это или нет.
Погнали!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥28👍13❤5👎2
⏰ Ping! Последний день, когда грант можно еще получить
Друзья, сегодня1️⃣ 8️⃣ февраля — финальная дата, когда можно уйти с грантом :
🎁 Практикум LLM для инженеров
• гранты по 15 000 ₽ — на практикум
• гранты по 20 000 ₽ — на практикум + записи с Васей Озеровым
🎁 Большие практикумы
• гранты по 60 000 ₽ — DevOps-инженер
• гранты по 50 000 ₽ — Сисадмин с нуля. Они закончились, все зафиксировали, но вдруг кто-то откажется в последний момент и у вас будет возможность купить.
Сейчас тот самый момент, когда «хочу» и «могу» встречаются с выгодой. Гранты закрывают разницу в цене, и обучение становится значительно доступнее.
🔹 Кто уже зафиксировал грант — сегодня важно оплатить (можно полностью или частями). Если вдруг планы поменялись, и вы раздумываете, лучше сообщите об этом сейчас, чтобы мы могли передать возможность следующему.
🔹Мы знаем, что всегда есть те, кто откладывает решение до последней минуты. Скорее всего, пара человек передумает в последний час. Поэтому 1–2 гранта на каждую программу у нас точно «в запасе».
Если сегодня накатит осознание, что «надо брать», но увидите, что гранты формально закончились — всё равно пишите. Найдем вариант для тех, кто горел целью, но не успел написать.
➡️ Чтобы забрать грант или задать вопросы менеджеру↘️ пишите в tg нашим менеджерам.
Последний день. Дальше — полная цена.
Друзья, сегодня
• гранты по 15 000 ₽ — на практикум
• гранты по 20 000 ₽ — на практикум + записи с Васей Озеровым
• гранты по 60 000 ₽ — DevOps-инженер
• гранты по 50 000 ₽ — Сисадмин с нуля. Они закончились, все зафиксировали, но вдруг кто-то откажется в последний момент и у вас будет возможность купить.
Сейчас тот самый момент, когда «хочу» и «могу» встречаются с выгодой. Гранты закрывают разницу в цене, и обучение становится значительно доступнее.
🔹 Кто уже зафиксировал грант — сегодня важно оплатить (можно полностью или частями). Если вдруг планы поменялись, и вы раздумываете, лучше сообщите об этом сейчас, чтобы мы могли передать возможность следующему.
🔹Мы знаем, что всегда есть те, кто откладывает решение до последней минуты. Скорее всего, пара человек передумает в последний час. Поэтому 1–2 гранта на каждую программу у нас точно «в запасе».
Если сегодня накатит осознание, что «надо брать», но увидите, что гранты формально закончились — всё равно пишите. Найдем вариант для тех, кто горел целью, но не успел написать.
➡️ Чтобы забрать грант или задать вопросы менеджеру
Последний день. Дальше — полная цена.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
давайте добавим пользы в ленту😊
💣 SSH-agent: удобно, но с подвохом
Если надоело вводить passphrase от ключа 10 раз на дню — используй агента.
Как работает:
🔹 Агент хранит расшифрованные ключи в памяти
🔹 Добавляешь ключ один раз: ssh-add ~/.ssh/id_ed25519 (ввел пароль — забыл)
🔹 Все ssh-сессии автоматом берут ключ у агента
Главная ловушка — ForwardAgent (-A)
Когда ты заходишь на bastion с опцией -A, твой агент пробрасывается туда. Теперь любой рут на бастионе может через этот сокет использовать твои ключи, чтобы прыгать дальше. Если бастион скомпрометируют — всё, доступ ко всем твоим серверам, пока сессия жива.
Как безопасно прыгать через bastion:
Вместо ForwardAgent используй ProxyJump (опция -J или директива в ~/.ssh/config). Тогда соединение с конечным сервером идет с твоей машины, bastion просто транслирует трафик. Ключи на него не уходят.
Когда без ForwardAgent не обойтись:
🔹Если на бастионе нужно запускать git, который ходит по ssh (например, забирать репы с GitHub)
🔹 Если цепочка хостов слишком сложная для ProxyJump
Но даже в этих случаях включай ForwardAgent только на время сессии и только для проверенных хостов.
📌 Памятка:
🔹 Никогда не копируй приватные ключи на сервера
🔹ssh-add -t 3600 — ключ в агенте живет час и самоудаляется
🔹 ssh-add -l — посмотреть, какие ключи сейчас в агенте
🔹 На bastion'ах по умолчанию используй ProxyJump
Хочешь прокачаться в SSH — от архитектуры до туннелей и сертификатов? Приходи на модуль OpenSSH.
Если надоело вводить passphrase от ключа 10 раз на дню — используй агента.
Как работает:
🔹 Агент хранит расшифрованные ключи в памяти
🔹 Добавляешь ключ один раз: ssh-add ~/.ssh/id_ed25519 (ввел пароль — забыл)
🔹 Все ssh-сессии автоматом берут ключ у агента
Главная ловушка — ForwardAgent (-A)
Когда ты заходишь на bastion с опцией -A, твой агент пробрасывается туда. Теперь любой рут на бастионе может через этот сокет использовать твои ключи, чтобы прыгать дальше. Если бастион скомпрометируют — всё, доступ ко всем твоим серверам, пока сессия жива.
Как безопасно прыгать через bastion:
Вместо ForwardAgent используй ProxyJump (опция -J или директива в ~/.ssh/config). Тогда соединение с конечным сервером идет с твоей машины, bastion просто транслирует трафик. Ключи на него не уходят.
Когда без ForwardAgent не обойтись:
🔹Если на бастионе нужно запускать git, который ходит по ssh (например, забирать репы с GitHub)
🔹 Если цепочка хостов слишком сложная для ProxyJump
Но даже в этих случаях включай ForwardAgent только на время сессии и только для проверенных хостов.
🔹 Никогда не копируй приватные ключи на сервера
🔹ssh-add -t 3600 — ключ в агенте живет час и самоудаляется
🔹 ssh-add -l — посмотреть, какие ключи сейчас в агенте
🔹 На bastion'ах по умолчанию используй ProxyJump
Хочешь прокачаться в SSH — от архитектуры до туннелей и сертификатов? Приходи на модуль OpenSSH.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥8❤2
1️⃣ Как стать сильным инженером
Цитата Васи Озерова: "Ну это самое хардовое и ценное на самом деле что будет внутри :) Намного хардовее чем настройка нджинкс - это прямо смена мышления как мыслить как инженер".
приходите, будет
Время проведения:
23 февраля 2026, понедельник, 19:00 по МСК
Программа практикума:
Кто ведёт?
Василий Озеров — co-Founder REBRAIN, IT-инженер с 2012 года, провёл 100+ вебинаров по DevOps и инфраструктуре.
---------------------------------------------------------------------------------------
2️⃣ Ansible для управления сетью
Время проведения:
24 февраля 2026, вторник, 20:00 по МСК
Программа практикума:
Кто ведёт?
Ольга Яновская — Руководитель направления Networks by Rebrain. Ph.D. in Information Technology. Cisco NetAcad Instructor / NetAcad Success Lead / Instructor-Trainer. Ведущий сетевой инженер. Разработчик в Pyzzle.ISP — система автоматизации сетей операторов связи.
---------------------------------------------------------------------------------------
3️⃣ От OLTP к OLAP: первые шаги backend-инженера к аналитике на ClickHouse
Время проведения:
26 февраля 2026, четверг, 20:00 по МСК
Программа практикума:
Кто ведёт?
Денис Колпаков — Software Engineer, Qase Core Team, еx. Avito Senior Engineer. Занимается backend разработкой 10 лет.
Please open Telegram to view this post
VIEW IN TELEGRAM
Ansible для управления сетью
вебинары by REBRAIN
🔥14❤5
Привет! 👋 сейчас будет много букв 🙀
Сколько проектов ты видел, где HTTPS накинут "для галочки"? Сертификат самоподписанный, редирект кривой.
Давай с этим разберемся. Настраиваем HTTPS так, чтобы и SSL Labs поставили A+.
Любой HTTPS запрос = браузер и сервер договариваются, как шифровать данные, проверяют сертификат и только потом начинают передачу. Если сертификат просрочен, имя не совпадает или цепочка не доверенная — браузер выдаст предупреждение и не пустит пользователя.
Наша задача: сделать передачу надежной, быстрой и безопасной.
Для этого будем поднимать : Nginx + Let's Encrypt (Certbot). Это бесплатно, автоматически и мейнстримно. Для демо берем Ubuntu 22.04, но на Centos/Rocky всё аналогично (только пакетный менеджер другой).
Шаг 1. Получаем честный сертификат
Certbot сам сходит в ACME, подтвердит домен и разложит сертификаты. Устанавливаем:
Дальше запускаем магию:
Certbot сам подправит твой конфиг Nginx, включит HTTPS, настроит редирект. Но! Он сгенерит конфиг в минимальном стиле. Мы же хотим не просто HTTPS, а правильный HTTPS. Поэтому после получения сертификата залезем в конфиг и докрутим.
Шаг 2. Правильный конфиг Nginx для HTTPS
Открываем /etc/nginx/sites-available/example.com и приводим к виду ниже. Объясню ключевые моменты:
Сколько проектов ты видел, где HTTPS накинут "для галочки"? Сертификат самоподписанный, редирект кривой.
Давай с этим разберемся. Настраиваем HTTPS так, чтобы и SSL Labs поставили A+.
Любой HTTPS запрос = браузер и сервер договариваются, как шифровать данные, проверяют сертификат и только потом начинают передачу. Если сертификат просрочен, имя не совпадает или цепочка не доверенная — браузер выдаст предупреждение и не пустит пользователя.
Наша задача: сделать передачу надежной, быстрой и безопасной.
Для этого будем поднимать : Nginx + Let's Encrypt (Certbot). Это бесплатно, автоматически и мейнстримно. Для демо берем Ubuntu 22.04, но на Centos/Rocky всё аналогично (только пакетный менеджер другой).
Шаг 1. Получаем честный сертификат
Certbot сам сходит в ACME, подтвердит домен и разложит сертификаты. Устанавливаем:
sudo apt update
sudo apt install certbot python3-certbot-nginx -y
Дальше запускаем магию:
sudo certbot --nginx -d example.com -d www.example.com
Certbot сам подправит твой конфиг Nginx, включит HTTPS, настроит редирект. Но! Он сгенерит конфиг в минимальном стиле. Мы же хотим не просто HTTPS, а правильный HTTPS. Поэтому после получения сертификата залезем в конфиг и докрутим.
Шаг 2. Правильный конфиг Nginx для HTTPS
Открываем /etc/nginx/sites-available/example.com и приводим к виду ниже. Объясню ключевые моменты:
# HTTP — только редирект на HTTPS
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
return 301 https://$server_name$request_uri;
}
# HTTPS блок
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name example.com www.example.com;
# Пути к сертификатам (Certbot положит их сюда)
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
# Современные протоколы и шифры
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers off;
# Оптимизация handshake
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
ssl_session_tickets off;
# OCSP Stapling — ускоряет проверку сертификата
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
# Заголовки безопасности (security headers)
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header Referrer-Policy "no-referrer-when-downgrade" always;
add_header Content-Security-Policy "default-src 'self' http: https: data: blob: 'unsafe-inline'" always;
# Корень сайта и индекс
root /var/www/example.com;
index index.php index.html;
# Логи
access_log /var/log/nginx/example.com_access.log;
error_log /var/log/nginx/example.com_error.log;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
❤23🔥12👍3😁1
Что здесь важного
- listen 443 ssl http2 — включает HTTP/2 поверх TLS. Ощутимо быстрее.
- ssl_protocols — разрешаем только безопасные версии TLS (v1.2 и v1.3). SSLv3, TLSv1.0, TLSv1.1 — в топку.
- ssl_ciphers — набор шифров, рекомендуемый современными стандартами (Mozilla Modern).
- ssl_prefer_server_ciphers off — отключаем устаревший механизм выбора шифра сервером, доверяем клиенту (он уже знает, что лучше).
- ssl_session_cache / timeout / tickets — ускоряем повторные соединения.
- OCSP Stapling — сервер сам ходит проверять валидность сертификата и отдаёт результат браузеру, экономя время.
- Security Headers:
- Strict-Transport-Security (HSTS) — заставляет браузер всегда ходить по HTTPS (даже если пользователь вбил http://).
- X-Frame-Options — запрещает встраивать сайт в iframe (защита от clickjacking).
- X-Content-Type-Options — запрещает браузеру угадывать MIME-тип.
- X-XSS-Protection — включает встроенный фильтр XSS.
- Referrer-Policy — ограничиваем передачу referer.
- Content-Security-Policy — базовое разрешение (можно ужесточить под своё приложение).
Шаг3️⃣ . Проверяем и перезагружаем
Теперь можно зайти на сайт и проверить замок в адресной строке. А для хардкорных тестов идём на SSL Labs — вбиваем свой домен и ждём отчёт. Там должно быть зелёное "A+".
Почему это работает?
Потому что мы не просто повесили сертификат, а:
- Отключили всё слабое и древнее.
- Включили оптимизации (OCSP Stapling, session cache, HTTP/2).
- Защитили пользователя заголовками даже на уровне протокола.
Что дальше?
Настроить HTTPS — это лишь один из кирпичей в стабильной и безопасной инфраструктуре. Если хочешь разобраться во всём стеке LEPP (Nginx + PHP-FPM + PostgreSQL) от установки до продакшен-оптимизации и упаковки в Docker — приходи на курс.
🔥 Старт: 24 февраля
📄 Программа курса LEPP Stack
💰 До 23 февраля включительно — 22 000 ₽25 000 ₽.
👉 Купить LEPP Stack
Освоишь то, что реально нужно в работе: понимание архитектуры, траблшутинг, безопасность, автоматизацию. Без скучной теории, только практика.
- listen 443 ssl http2 — включает HTTP/2 поверх TLS. Ощутимо быстрее.
- ssl_protocols — разрешаем только безопасные версии TLS (v1.2 и v1.3). SSLv3, TLSv1.0, TLSv1.1 — в топку.
- ssl_ciphers — набор шифров, рекомендуемый современными стандартами (Mozilla Modern).
- ssl_prefer_server_ciphers off — отключаем устаревший механизм выбора шифра сервером, доверяем клиенту (он уже знает, что лучше).
- ssl_session_cache / timeout / tickets — ускоряем повторные соединения.
- OCSP Stapling — сервер сам ходит проверять валидность сертификата и отдаёт результат браузеру, экономя время.
- Security Headers:
- Strict-Transport-Security (HSTS) — заставляет браузер всегда ходить по HTTPS (даже если пользователь вбил http://).
- X-Frame-Options — запрещает встраивать сайт в iframe (защита от clickjacking).
- X-Content-Type-Options — запрещает браузеру угадывать MIME-тип.
- X-XSS-Protection — включает встроенный фильтр XSS.
- Referrer-Policy — ограничиваем передачу referer.
- Content-Security-Policy — базовое разрешение (можно ужесточить под своё приложение).
Шаг
sudo nginx -t
sudo systemctl reload nginx
Теперь можно зайти на сайт и проверить замок в адресной строке. А для хардкорных тестов идём на SSL Labs — вбиваем свой домен и ждём отчёт. Там должно быть зелёное "A+".
Почему это работает?
Потому что мы не просто повесили сертификат, а:
- Отключили всё слабое и древнее.
- Включили оптимизации (OCSP Stapling, session cache, HTTP/2).
- Защитили пользователя заголовками даже на уровне протокола.
Что дальше?
Настроить HTTPS — это лишь один из кирпичей в стабильной и безопасной инфраструктуре. Если хочешь разобраться во всём стеке LEPP (Nginx + PHP-FPM + PostgreSQL) от установки до продакшен-оптимизации и упаковки в Docker — приходи на курс.
🔥 Старт: 24 февраля
📄 Программа курса LEPP Stack
💰 До 23 февраля включительно — 22 000 ₽
👉 Купить LEPP Stack
Освоишь то, что реально нужно в работе: понимание архитектуры, траблшутинг, безопасность, автоматизацию. Без скучной теории, только практика.
Please open Telegram to view this post
VIEW IN TELEGRAM
Ssllabs
SSL Server Test (Powered by Qualys SSL Labs)
A comprehensive free SSL test for your public web servers.
🔥19❤9😁1
Почему вообще стоит заходить на открытые вебинары и митапы:
Иногда один вечерний вебинар даёт больше инсайтов, чем неделя чтения статей, просто потому что это живой опыт и обсуждение.
Мы сами периодически сохраняем разные подборки мероприятий, чтобы не пропускать интересные темы и спикеров. В канале IT Meeting, например, регулярно собирают бесплатные онлайн-вебинары и митапы по разным IT-направлениям — удобно иногда открыть и посмотреть, что сейчас обсуждают в индустрии.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👏4👍2
Forwarded from Vasiliy Ozerov
This media is not supported in your browser
VIEW IN TELEGRAM
🔥29👍11❤5💯3😁2
Делимся, какие доработки внедри по мессенджеру:
🟢 Расширили окно чата и поле ввода сообщения.
🟢 Возможность перейти в урок, из которого задан вопрос/сдано задание.
🟢 Поиск среди чатов по теме, названию урока или названию курса.
🟢 Markdown поддерживается в чате.
🟢 Можно удалять свое последнее отправленное сообщение (если на него нет ответа и после отправки вы не меняли статус). Редактирование отправленного сообщения- объемная задача, и пока что в бэклоге.
🟢 Возможность прикрепить файл драг-дропом или вставить изображение через ctrl+v.
🟢 В чате отображается имя ментора.
Мы разбираем вашу обратную связь и берем ее в работу. Если у вас есть пожелания, то пишите в поддержку, мы собираем ее в бэклоге и постепенно/по мере возможностей ее внедряем.
Мы разбираем вашу обратную связь и берем ее в работу. Если у вас есть пожелания, то пишите в поддержку, мы собираем ее в бэклоге и постепенно/по мере возможностей ее внедряем.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13🔥5👏3