Опубликован выпуск основной ветки nginx 1.27.2, в рамках которой продолжается развитие новых возможностей. В параллельно поддерживаемой стабильной ветке 1.26.x вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей. В дальнейшем на базе основной ветки 1.27.x будет сформирована стабильная ветка 1.28. Код проекта написан на языке Си и распространяется под лицензией BSD...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=61975
Что-то не густо. Сдулся более лучший Апач.
Уже полно серверов лучше нжинкса, а статику должны раздавать cdn.
>статику должны раздавать cdn.На которых nginx?
На ближайшем к клиенту уровне обычно стоит in-memory cache, например, varnish.
Лучше то в чём?
Мне вот по скорости и лайти хватало 15 лет назад, да и апач я не думаю что конченный тормоз.
В nginx меня цепляет конфиг в котором можно програмировать, если бы не nginx то пришлось бы самому кодить на С или искать какой то сервер на интерпретируемом языке.
Да, бонусом конечно нравится куча тонких настрое для оффлоада всего и вся на ОС и железо, но это не является определяющим для меня.
для некоторых, вероятно для достаточно многих, тот же Caddy является избавлением от Nginx'a> I recently moved to Caddy. Out-of-the-box TLS, HTTP3, Dumbed-down simple configuration, static files... it has been a breath of fresh air.
> I keep a Caddy server around and the config format is actually much, much nicer than nginx's in my experience. The main problem with it is that everybody provides example configurations in the nginx config format, so I have to read them, understand them, and translate them.
> Traefik has a very verbose config with non-sensible defaults; Caddy works out of the box with 1-3 lines to setup your domain and sensible defaults.
> What's the pain?Оффлоадят настройки на сам вебсервер. Очень популярно в среде lonely-dev-guy-startup-show .
Конфиги в развесистом json. Не понятно, смеяться или плакать.https://caddyserver.com/docs/getting-started#your-first-config
Плакать, потому что вы так и не удосужились прочитать, что это только один из двух форматов конфига.
> Оффлоадят настройки на сам вебсервер. Очень популярно в среде lonely-dev-guy-startup-show .Эта традиция — вместо того, чтобы чинить приложение, подпереть его кучей rewrite — обрела широкую популярность во времена апача (нулевые), и столь же широко продолжилась во времена nginx (десятые).
Не совсем.
1. Часто админ и разработчик сильно разные люди с сильно разными задачами и квалификацией.
2. Часто разработчики кодят чтобы работало на мамкином компе, с хардкодом путей и пр.
3. Порой в очередном дистре/сетапе такое понакручено что нафик такое сдалось учитывать в "приложении".
4. С помощью условий и реврайтов в nginx орагнизуется дополнительная логика, которую тащить в медленный питон/пхп/перл/тп нет смысла.
это называется "программирование-на-конфигах" и в нормальном ынтерпрайзе такие разрабы ("мамкины", верно) шлются сразу в лес.
Это вам лично так кажется.
В таких случаях просто конфиг становится частью продукта.
У меня там с ssdpd сделано.И некоторые даже используют LUA для чтения конфигов в своём софте, как раз чтобы можно было программировать на конфигах :)
По крайней мере в книжке создателей луа это предлагается делать.
Да, бывает так. Сам так делал, с генерацией nginx-конфига из стейта роутера для оптимизации: если прилетело нужное в fcgi params, можно ничего не парсить и зароутить напрямую.Но в 99% случаев это просто бешеная портянка реврайтов для мамкиных вебкодеров.
Примерно по этим же причинам (встроенный Let's Encrypt) использую Traefik. Также подкупает что он умеет считывать лейблы с контейнеров и по ним сделать роутинг / какие-то преобразования и т. д. Удобно, что для типового деплоя можно просто задеплоить контейнер с тэгами, не прибегая к настройке балансера.
Я читал про идеологию что настройки должны быть максимально на автомте, это хорошая тема, но и nginx не требует переопределять всё.
Nginx ставят перед Апачем.
> Nginx ставят перед Апачем.всегда-всегда? =)
> Что-то не густо. Сдулся более лучший Апач.F5 купили их ради клиентской базы, которую плавно переводят на свой проприетарный продукт. Вполне закономерно, что разработчикам nginx в этой конторе места уже не нашлось. Так что результат вполне предсказуем.
> Что-то не густо. Сдулся более лучший Апач.А ты хотел чтобы тебе в минорном апдейте - каааааак с лопаты выгрузили, на вентилятор, так что прод весь в крапинку? :)
nginx теперь так не может. Даже в 1.27.0 были кошачьи слёзы.
но у nginx не бывает никаких других апдейтов.Нате-на-лопате раз в пол-года по графичку. И это девелоперская ветка, никакой другой еще более девелоперской тоже нет.
Ничего нового в общем-то. Уже лет пять такая канитель. Нашли полтора повода что-то закомитить, вот и отчет об успешности успеха очередного релиза есть чем заполнить.
Стагнация нжинкса удручает
Данные на лицо https://www.netcraft.com/blog/september-2024-web-server-survey
Да его можно 10 лет не обновлять, хуже он не станет работать.
Ну в целом соглашусь - как раз за 10 лет LTS от того же Редхата протухает и переезжают.Админы не на LTSах (диды на фряхах например) - обновляют в разнобой.
DX driven девелоперы в докер контейнерах вообще не знают что бывают версии нгинкса.
> DX driven девелоперы в докер контейнерах вообще не знают что бывают версии нгинкса.Логично. В плане функциональности существенный изменений нет уже много лет.
Зачем обновляться и тратить время, если это не несет пользы?
Ну хотя бы CVE попатчить.
> В плане функциональности существенный изменений нет уже много лет.Вы слишком много кушать(С)
HTTPS/2 , HTTPS/3 - только это чего стоит :)
(нужно оно или нет - другой вопрос)Так что не нойте.
> HTTPS/2 , HTTPS/3 - только это чего стоит :)Ничего, для типового применения nginx в контейнере, где он работает отдатчиком статики для какой-го нибудь сервера приложений, типа node/gunicorn/puma/etc, и/или конвертером HTTP↔FastCGI, если у вас пых.
При этом с для взаимодействия с входным балансировщиком (будь то ingress controller в кубике или какой-нибудь traefik в простом compose-окружении) ему вполне достаточно HTTP/1.1. На этом участке HTTP/2 и HTTP/3 ощутимой пользы не приносят.
> используя протокол OCSPPOST метод так и не реализовали?
Как там дела у Angie ?
В поте лица мержат наверное.
Очень странно что они на гитхабе выпуски не формируют.
https://github.com/nginx/nginx
а зачем?
они где лежали всю жизнь, так и лежат
подскажите куда лучше спрыгивать?
нужен reverse proxy который на входе умеет letsencrypt и http3
> I recently moved to Caddy. Out-of-the-box TLS, HTTP3, Dumbed-down simple configuration, static files... it has been a breath of fresh air.Не скажу что лучше и туда надо спрыгивать - некоторым точно лучше. Ваш отдел системного администрирования может подсказать детальнее, зная ваш контекст.
Глянь Traefik. Особенно будет полезен, если используешь докер, т.к. из коробки умеет auto discovery через лейблы докер-контейнера - не нужно лазать в конфиги для добавления новых доменов. Traefik сам мониторит запущенные контейнеры и запрашивает требуемые для них LE-сертификаты.Но сложные правила nginx им не заменить.
> Но сложные правила nginx им не заменить.Если вам в прокси нужны сложные правила, то возможно стоит либо архитектуру приложения скорректировать, либо не стесняться и самим под задачу написать. На предыдущем проекте так сделали: взяли клаудфлеровскую пингору и засунули туда всю сложную логику. На нормализованную 100qps расход ресурсов и латенси заметно ниже, плюс девелоперы сами могут роутингом внутри приложения рулить как угодно, не дёргая админов чтобы конфиги поправили.
А если не хочется каждый раз при изменении логики компилировать и деплоить балансировщик, то есть Envoy, в котором даже очень сложную логику можно задать через API.
Да, есть, очень хороший продукт. Выбор в итоге за тем, кому эту конфигурацию сопровождать.
> подскажите куда лучше спрыгивать?
> нужен reverse proxy который на входе умеет letsencrypt и http3Ну HAproxy же
https://www.haproxy.org/Она по всем параметрам фичастее чем nginx, когда дело касается прокси