Cloudflare представила Pingora v0.7.0 для безопасных сетевых сервисов на Rust Обложка: Skyread

Cloudflare представила Pingora v0.7.0 для безопасных сетевых сервисов на Rust

Новости
Главное:

  • Cloudflare выпустила версию Pingora v0.7.0 — асинхронный многопоточный фреймворк на Rust для создания высокопроизводительных прокси-сервисов HTTP.
  • В новой версии добавлены важные улучшения: расширенная обработка TLS, фильтрация TCP-соединений до TLS, поддержка виртуальных потоков и усовершенствования в работе с сертификатами.
  • Pingora используется в инфраструктуре Cloudflare как альтернатива Nginx, поддерживает протоколы HTTP/1, HTTP/2, gRPC и WebSocket, а исходный код доступен под лицензией Apache 2.0.

В конце января 2026 года компания Cloudflare объявила о релизе версии Pingora v0.7.0 — обновлённого открытого фреймворка, разработанного на языке Rust, предназначенного для построения защищённых и высокопроизводительных сетевых прокси-сервисов. Pingora создаёт базу для масштабируемых HTTP-прокси и уже применяется в инфраструктуре Cloudflare, обеспечивая значительную долю трафика, выступая альтернативой популярному Nginx.

Pingora поддерживает работу с протоколами HTTP/1 и HTTP/2, а также проксирование gRPC и WebSocket. В перспективе разработчики планируют реализовать поддержку HTTP/3. Фреймворк позволяет настраивать TLS через OpenSSL или BoringSSL — последняя библиотека соответствует стандартам безопасности FIPS и поддерживает пост-квантовое шифрование, что подчёркивает высокие требования Cloudflare к безопасности.

В версии v0.7.0 разработчики исправили известные ошибки и внедрили ряд новых возможностей. Среди ключевых изменений — добавление поля extension в структуру SslDigest и обработчика handshake_complete_callback в типаж TlsAccept, что расширяет возможности прикрепления произвольных данных к TLS-соединению на уровне приложения. Это может применяться, например, для реализации серверов, которые извлекают информацию из сертификата клиента и возвращают её в HTTP-ответе.

Также реализован типаж ConnectionFilter для фильтрации TCP-соединений ещё до согласования параметров TLS, что помогает экономить ресурсы за счёт отсечения нежелательных соединений на ранней стадии. Появилась поддержка виртуальных потоков транспортного уровня (Virtual L4 Streams), предоставляющих возможность интеграции пользовательских сетевых протоколов в proxy-сервер.

Важным обновлением стала реализация опций verify_cert и verify_hostname в конфигурациях с использованием rustls, что усиливает контроль проверки сертификатов. Разрешён доступ к структуре HttpProxy из внешних crate для кастомизации логики проксирования и добавлена возможность выделять фоновые обработчики запросов, что повышает масштабируемость и управляемость запросами.

Помимо этого, в Pingora появилась функция отслеживания размера тела HTTP-запросов и метрик работы прокси, а также возможность создания собственных сеансов для инкапсулированного HTTP-трафика. Для повышения безопасности введены ограничения на версии библиотеки lru из-за обнаруженной уязвимости, которая могла вызвать аварийное завершение программы.

Значимость Pingora в контексте современных веб-сервисов подчёркивает её интеграция с популярными инструментами наблюдения, такими как Syslog, Prometheus, Sentry и OpenTelemetry, а также поддержка плавного перезапуска без потери запросов. В целом, обновление v0.7.0 демонстрирует дальнейшее развитие проекта как мощного, гибкого и безопасного решения в области высоконагруженных прокси-сервисов.

Предшествующие версии Pingora, начиная с релиза v0.3.0 в июне 2024 года, последовательно расширяли функциональность проекта, включая экспериментальную поддержку Windows и альтернативных TLS-библиотек, что указывает на поступательное развитие и активное сообщество вокруг открытого проекта Cloudflare.

Tagged