Обновить
37.16

Nginx *

Веб-сервер и почтовый прокси-сервер

Сначала показывать
Порог рейтинга

Небольшое дополнение к статье про Raspberry Pi

Недавно я написал статью про небольшой домашний стенд на Raspberry Pi и Orange Pi: Tailscale, Ansible, Nginx и базовую автоматизацию.
В процессе чтения комментариев решил сделать несколько улучшений. Особенно благодарен комментариям от @Tony-Sol

Первое, что сделал — убрал root из inventory.

ansible_user=root Не надо так, лучше создать отдельного пользователя


На обеих машинах завёл отдельного пользователя ansible и команды на хосте:

sudo adduser ansible

sudo usermod -aG sudo ansible

echo 'ansible ALL=(ALL) NOPASSWD: ALL' | sudo tee /etc/sudoers.d/ansible

sudo chmod 440 /etc/sudoers.d/ansible

2. Создание роли

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


Теперь создал роль и подключил ее в основной плейбук:

  • tasks / handlers / templates разнесены по каталогам;

  • apt заменён на package;

  • state: latestpresent;

  • become используется только там, где реально нужен;

  • проверка конфига вынесена в handler через nginx -t.

Отдельно напишу вещь, на которой споткнулся:
host_vars/<имя>.yml работает только если имя совпадает с inventory_hostname.
У меня хост назывался orange, а файл был pi2.yml — из-за этого Jinja-шаблоны молча брали дефолты.

3. ansible.cfg — мелкие, но полезные настройки

Добавил минимальный ansible.cfg в проект:

  • roles_path=./roles;

  • gathering=explicit (факты включаю только там, где нужны);

  • небольшие SSH-настройки для стабильности.

vault_password_file имеет смысл добавлять только когда реально используется vault, иначе Ansible начинает ругаться.

4. Добавил на Raspberry Pi Мониторинг: VictoriaMetrics + Grafana

Мониторинг вынес на более мощную Raspberry Pi, а Orange Pi оставил агентом:

  • VictoriaMetrics + Grafana в Docker Compose;

  • node_exporter на обоих устройствах;

  • сбор метрик через static targets.

В итоге стенд стал аккуратнее.

Если интересно — базовая архитектура и исходная версия описаны в предыдущей статье.

Теги:
-1
Комментарии0

Подключение к этому сайту не защищено...

Когда веб-браузер не может «договориться» с веб-сервером о способе шифрования данных, сайт не открывается, а на экран выдаются сообщения: «Подключение к этому сайту не защищено. Этот сайт не может обеспечить безопасное соединение», «Не удаётся открыть эту страницу. Подключение было сброшено» или даже «Не удаётся получить доступ к сайту. Превышено время ожидания ответа от сайта».

В последнее время причиной таких нестыковок стала активация алгоритма согласования криптографических ключей Kyber768 в веб-браузерах, построенных на платформе Chromium. После включения этого механизма изменяется запрос, отправляемый веб-браузером для установки защищённого соединения TLS 1.3, но ещё не все серверы «умеют» правильно его обрабатывать, что приводит к досадным отказам в обслуживании.

Если попасть на веб-сайт всё-таки необходимо, то можно временно отключить в веб-браузере механизм Kyber768. Например, в Microsoft Edge для этого надо:

  1. Набрать в адресной строке текст:edge://flags/

  2. Набрать в строке поиска текст:TLS 1.3 hybridized

  3. Изменить значение параметра «TLS 1.3 hybridized Kyber support» с Default на Disabled

  4. Перезапустить веб-браузер

Отключение механизма Kyber768 в веб-браузере Microsoft Edge.
Отключение механизма Kyber768 в веб-браузере Microsoft Edge.

В других веб-браузерах поиск настройки отличается только текстом в адресной строке: chrome://flags — для Google Chrome, vivaldi://flags — для Vivaldi, и т. д.

Если после этого сайт стал открываться, то можно уведомить о проблеме его владельца. В противном случае значение изменённого параметра лучше восстановить.

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии1

Представлен открытый проект ngtop. Это утилита командной строки для вывода количества запросов (request counts) из файлов access.log nginx.

Исходный код ngtop написан на go и распространяется на GitHub под лицензией GNU General Public License v3.0.

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

10 мая 2024 года Cloudflare представила второй публичный релиз открытого проекта Pingora v0.2.0. Это асинхронный многопоточный фреймворк на Rust, который помогает создавать прокси-сервисы HTTP. Проект используется для создания сервисов, обеспечивающих значительную часть трафика в Cloudflare (вместо применения Nginx). Исходный код Pingora опубликован на GitHub под лицензией Apache 2.0.

Pingora предоставляет библиотеки и API для создания сервисов поверх HTTP/1 и HTTP/2, TLS или просто TCP/UDP. В качестве прокси-сервера он поддерживает сквозное проксирование HTTP/1 и HTTP/2, gRPC и WebSocket. (Поддержка HTTP/3 — в планах). Pingora также включает в себя настраиваемые стратегии балансировки нагрузки и аварийного переключения. Чтобы соответствовать требованиям и безопасности он поддерживает как широко используемые библиотеки OpenSSL, так и BoringSSL, которые соответствуют требованиям FIPS (федеральных стандартов обработки информации США) и пост-квантового шифрования.

Изменения в новой версии:

  • добавлена поддержка установки фильтров для дополнительных заголовков HTTP/2;

  • добавлена возможность изменения размера буфера входящих пакетов для TCP;

  • добавлена функция body_bytes_read();

  • добавлен фильтр cache_not_modified_filter;

  • добавлена возможность ведения лога TLS-ключей;

  • добавлена callback-функция purge_response.

В рабочем режиме Pingora обеспечивает плавный перезапуск без простоев для самостоятельного обновления, не теряя ни одного входящего запроса.

Теги:
Всего голосов 3: ↑3 и ↓0+6
Комментарии0

Опубликован сервер приложений NGINX Unit 1.31.0, в рамках которого развивается решение для обеспечения запуска web-приложений на различных языках программирования (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js, WebAssembly и Java). Под управлением NGINX Unit может одновременно выполняться несколько приложений на разных языках программирования, параметры запуска которых можно изменять динамически без необходимости правки файлов конфигурации и перезапуска. Код написан на языке С и распространяется под лицензией Apache 2.0. С особенностями NGINX Unit можно познакомиться в анонсе первого выпуска.

Источник: OpenNET.

Теги:
Рейтинг0
Комментарии0

Сформирован выпуск основной ветки nginx 1.25.1, в рамках которой продолжается развитие новых возможностей. В параллельно поддерживаемой стабильной ветке 1.24.x вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей.

В дальнейшем на базе основной ветки 1.25.x будет сформирована стабильная ветка 1.26.

Среди изменений:

  • Добавлена отдельная директива "http2" для выборочного включения протокола HTTP/2 в привязке к серверам (может использоваться в отдельных блоках "server"). Параметр "http2" в директиве "listen" объявлен устаревшим.

  • Удалена поддержка технологии Server push в HTTP/2.

  • Прекращена поддержка директивы "ssl", ранее объявленной устаревшей.

  • Решены проблемы при использовании HTTP/3 при сборке с библиотекой OpenSSL.

Источник информации: OpenNET.

Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Вклад авторов