Comments 36
Основные фичи:
— парсер HTTP запросов
— грамотно организованый пул входящих\исходящих HTTP соединений
— поддержка новых стандартов протокола
Т.е. существующий, обновляемый движок nginx, но с человеческим API.
Вот взять, к примеру, фейсбуковский proxygen (https://github.com/facebook/proxygen). Все в нем хорошо, но нет родного http-клиента, и не везде его собрать можно (+тащит кучу зависимостей на сотни мб).
cpp-netlib — и сервер и клиент, и asio, но не дружит с производительностью никак.
Есть еще куча всяких MonkeyIO, но они какие-то наколеночные все.
Вот если бы производительность и возможности nginx засунуть в конфетную оббертку аля NodeJs — цены бы не было такому решению на рынке…
в «mainline»? На мой взгляд довольно востребованная возможность — авторизация через LDAP, а существующий сторонний плагин довольно неудобно деплоить.
auth_request
, с которым мы и так собираем пакеты.Зачем? если есть https://github.com/kvspb/nginx-auth-ldap
Потому что c точки зрения поддержки этого на сервере это ужас-ужас. Перекомпилировать каждый раз
после обновления nginx это совсем не то чем хочется заниматься.
с возможностью сборки в виде динамического модуля
Возможно с динамическими модулями, если nginx ребята не будут ломать ABI все будет проще,
но все равно надо следить за обновлениями безопсаности плагина.
В идеале хотелось бы apt-get install nginx-ldap-support
и остальную поддержку оставить разработчикам
дистрибутива.
Гляньте здесь — https://habrahabr.ru/post/260133/ — я уже давненько сделал… И PR уже там, но всем известный персонаж забраковал пока...
Есть ли уже или только планируется поддержка HTTP/2 Server Push?
Спрашиваю, потому что как раз вчера CloudFlare объявился о поддержке у себя с краткой информацией о текущей поддержке браузерами:
https://blog.cloudflare.com/announcing-support-for-http-2-server-push-2/
Посмотрите сколько багов связанных с поддержкой HTTP/2 только лишь в одном хроме: https://bugs.chromium.org/p/chromium/issues/list?q=component:Internals%3ENetwork%3EHTTP2 — из них там немало про Server Push.
HTTP/2 — переусложненный протокол, пройдет ещё не один год, прежде чем он везде нормально заработает.
Чем обусловлен этот момент?
Анонс NGINX 1.10 и 1.11