Веб-страница
25.3K subscribers
1.47K photos
465 videos
1 file
3.66K links
Всё по фронтенду, бэкенду и девопсу в одном месте

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/64ai
Download Telegram
Архитектура веб-сервера nginx — модульная и событийно-ориентированная. При правильной настройке она выигрывает у потокового Apache в производительности.

Этот модульный генератор конфигов для nginx поможет сгенерировать лучший конфиг для вашего конкретного кейса: https://nginxconfig.io/

Просто выберите необходимые параметры и скачайте получившийся конфиг. К тому же есть пресеты для популярных платформ, например для WordPress.

#бэкенд #nginx
Справочник по nginx

Ресурсов по nginx много, а хочется, чтоб был один, в котором всё есть. И, собственно, вот он: https://github.com/trimstray/nginx-admins-handbook

Здесь вы сможете узнать о многих функциях и возможностях nginx. Например, как протестировать производительность или решить проблемы с отладкой. Также тут есть инструкции по конфигурированию, паттерны по безопасности, способы решения популярных проблем и многое другое.

#бэкенд #nginx
Гайдлайн по конфигурированию nginx

#бэкенд #nginx
Gixy — статический анализатор конфигураций nginx, разработанный в Яндексе.

Поможет отыскать подделки запросов со стороны сервера, переопределение заголовков ответов и многое другое. Подробности и нюансы использования в репозитории: https://github.com/yandex/gixy

#бэкенд #nginx
Как эффективно мониторить метрики nginx, если у вас не один и не два сервера? Например, с помощью связки nginx_vts_exporter + Prometheus + Grafana.

Руководство по настройке: https://tprg.ru/DZwl

#бэкенд #nginx
Правильно настроенный с точки зрения безопасности nginx-конфиг: https://gist.github.com/plentz/6737338

#бэкенд #nginx #безопасность
Cloudflare организовала поддержку HTTP/3 в nginx

Cloudflare создала модуль для поддержки HTTP/3 в nginx — это должно упростить развёртывание серверов с использованием протокола нового поколения. Он сделан в форме надстройки над библиотекой quiche. Написан на языке Си.

Штатную поддержку протокола в ветке 1.17 обещают обеспечить через 6−12 месяцев. Для сборки на основе версии nginx 1.16 нужен патч и код библиотеки quiche — после этого nginx нужно пересобрать с опциями — with-http_v3_module, —with-quiche=../quiche. Поддержка TLS должна стоять на BoringSSL, OpenSSL пока не работает.

Про сам HTTP/3 можно почитать у нас на сайте: https://tproger.ru/news/quic-standardize-http3/

#бэкенд #nginx #http
Если ещё не знали, то у DigitalOcean есть весьма удобный конфигуратор для Nginx, который покрывает большинство стандартных кейсов:

https://tprg.ru/paQG

#бэкенд #nginx #инструменты
Оптимизация NGINX конфигураций

В блоге NGINX опубликовали статью с весьма полезными советами по оптимизациям NGINX. Всё довольно кратно, по делу и с дополнительными ссылками для изучения при необходимости:

https://tprg.ru/bfTs

#бэкенд #nginx
Ма­гия вне Хо­гварт­са: NJS

У тех, кто начинает работать с Nginx, может закипеть мозг при попытке разобраться в его работе. Это очень мощный, но сложный веб-сервер.

Эта статья призвана помочь разобраться с Nginx, используя для написания скриптов привычный большинству веб-разработчиков JavaScript:

https://tprg.ru/LWPl

#javascript #nginx
​​Если пропустили, тут Максим Дунин, один из ключевых разработчиков Nginx, форкнул проект, чтобы развивать его независимо как freenginx!

Nginx — веб-сервер, который работает под капотом подавляющего большинства сайтов и веб-сервисов. Это разработка российского инженера Игоря Сысоева. 4 года назад её купил американский F5, но в 2022 году московский офис компании закрыли, а Максим как один из основных разработчиков, остался в России и работал над проектом как волонтер.

Но сейчас Максим решил развивать проект самостоятельно после того, как у него возникли разногласия с компаниией F5. По его словам, недавно в F5 появилось несколько новых нетехнических менеджеров, которые решили, что они лучше знают, как запускать проекты с открытым исходным кодом.

Максим топит за то, что кодом пользуются люди и они имеют право знать, чего ожидать. freenginx должен стать проектом, свободным от корпоративного контроля.

Пока что ничего менять не нужно, nginx, скорее всего, будет развиваться так же, как и раньше. А вот за проектом Максима понаблюдать интересно: https://freenginx.org/pipermail/nginx/2024-February/000007.html

#nginx
​​Вышел nginx 1.27.0

На днях разработчики опубликовали выпуск высокопроизводительного HTTP-сервера и многопротокольного прокси-сервера nginx 1.27.0.

Основные улучшения и изменения в nginx 1.27.0:
— в директивах proxy_limit_rate, fastcgi_limit_rate, scgi_limit_rate и uwsgi_limit_rate добавлена поддержка указания переменных;
— снижено потребление памяти при обработке долгоживущих запросов в конфигурациях, в которых используются директивы gzip, gunzip, ssi, sub_filter или grpc_pass;
— решены проблемы со сброкой в GCC 14 при использовании опции "--with-atomic";
— исправлены ошибки в реализации HTTP/3.

В основном в релиз попали изменения, связанные с устранением серьёзных ошибок и уязвимостей. В новом выпуске устранены 4 уязвимости: CVE-2024-34161, CVE-2024-31079, CVE-2024-32760 и CVE-2024-35200.

Они затрагивают экспериментальный модуль ngx_http_v3 (отключён по умолчанию), обеспечивающий поддержку протокола HTTP/3, использующего протокол QUIC в качестве транспорта для HTTP/2. Проблемы проявляются только при активации модуля ngx_http_v3_module и выставлении опции quic в директиве listen.

Уязвимость CVE-2024-34161 приводит к утечке содержимого памяти рабочего процесса на системах с MTU, выставленным в значение больше 4096 байт. Утечка содержимого памяти возникает в случае отправки кадров CRYPTO, используемых при согласовании соединения, на стадии после отправки клиентом финализирующего сообщения.

Уязвимости CVE-2024-31079, CVE-2024-32760 и CVE-2024-35200 вызваны повреждением памяти и позволяют удалённому атакующему добиться аварийного завершения рабочего процесса nginx через установку специально оформленного сеанса на базе протокола QUIC.

Подробнее: https://mailman.nginx.org/pipermail/nginx-announce/2024/TYTF6MMPG334S66IYMTAOYFO2LU7XN4R.html

#nginx
От монолита к микросервисам: реальный кейс развёртывания сайта на Spring Boot + Angular SSR с Docker и Nginx

У нас на сайте появилась статья, где автор делится практическим опытом перехода от монолитного приложения к микросервисной архитектуре с использованием Spring Boot и Angular SSR. В ней подробно описаны этапы:

— настройки Docker Compose;
— интеграции Nginx;
— настройки HTTPS;
— и решения проблем с CORS.

Также рассматриваются способы защиты от ботов и оптимизации конфигурации для стабильной работы сайта.

#java #docker #springboot #angular #nginx