Как стать автором
Обновить
7.14

Nginx *

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

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

freenginx: комментарии от Макса Дунина

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров21K

14-го февраля Максим Дунин анонсировал форк nginx - freenginx (freenginx.org). Максим - старейший сотрудник nginx и core-контрибьютор nginx со времен Рамблера. Максим любезно согласился на интервью, вопросы задавал Алексей Рыбак (@rybakalexey), DevHands.io.

[АР] Почему ты решил форкнуть nginx и запустить проект freenginx? Почему ты делаешь акцент на свободе, в чём был несвободен nginx внутри F5?

[МД] Я в течении почти двух лет пытался избежать создания форка и безвозмездно занимался улучшением nginx - потому что считал и считаю, что создание форков не полезно для проекта. К сожалению, в F5 решили отказаться от наших договорённостей, и предпочли делать с проектом то, что они считают нужным, игнорируя как существующие политики проекта, так и мнение разработчиков, в том числе моё. Поэтому я создал отдельный проект, в котором позиция разработчиков гарантировано будет определяющей.

Читать далее
Всего голосов 89: ↑87 и ↓2+85
Комментарии71

Новости

freenginx: комментарии от Макса Дунина

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров21K

14-го февраля Максим Дунин анонсировал форк nginx - freenginx (freenginx.org). Максим - старейший сотрудник nginx и core-контрибьютор nginx со времен Рамблера. Максим любезно согласился на интервью, вопросы задавал Алексей Рыбак (@rybakalexey), DevHands.io.

[АР] Почему ты решил форкнуть nginx и запустить проект freenginx? Почему ты делаешь акцент на свободе, в чём был несвободен nginx внутри F5?

[МД] Я в течении почти двух лет пытался избежать создания форка и безвозмездно занимался улучшением nginx - потому что считал и считаю, что создание форков не полезно для проекта. К сожалению, в F5 решили отказаться от наших договорённостей, и предпочли делать с проектом то, что они считают нужным, игнорируя как существующие политики проекта, так и мнение разработчиков, в том числе моё. Поэтому я создал отдельный проект, в котором позиция разработчиков гарантировано будет определяющей.

Читать далее
Всего голосов 89: ↑87 и ↓2+85
Комментарии71

Особенности проксирования через CDN/Websocket/gRPC для обхода блокировок

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров59K

Эта статья — заключительная (наконец‑то!) из моего огромного цикла про недетектируемые инструменты для обхода блокировок. В предыдущих публикациях я упоминал, что клиенты и серверы XRay (форк V2Ray) и Sing‑box при использовании протоколов VLESS/VMess/Trojan могут работать через веб‑сокеты и gRPC, что позволяет подключаться к даже заблокированным Роскомнадзором прокси‑серверам через CDN (content delivery или content distribution network) и дает дополнительные преимущества. Сегодня мы поговорим об этом поподробнее.

Читать далее
Всего голосов 80: ↑78 и ↓2+76
Комментарии148

Как я разогнал fail2ban* в тысячу раз с помощью SIMD

Время на прочтение15 мин
Количество просмотров20K

Fail2ban — утилита чрезвычайно полезная во многих случаях. Думаю, многие используют её для того, чтобы в автоматическом режиме блокировать особенно назойливых «посетителей». К сожалению, если входящий поток становится слишком большим, fail2ban теряет все свои полезные свойства, потому что разбор лога безнадёжно отстаёт от реальности.

Лог nginx из 100 тысяч строчек fail2ban при самых простых настройках разбирает порядка 45 секунд. Нехитрыми манипуляциями его можно ускорить раз в 6, но этого оказалось недостаточно. Наивная реализация на аналогичного фильтра на Rust уже обеспечила требуемую производительность, но если уж взялся за оптимизацию, то остановиться трудно.

* только необходимую часть функционала

Читать далее
Всего голосов 121: ↑119 и ↓2+117
Комментарии76

Истории

Как избежать 10 частых ошибок в настройке NGINX

Время на прочтение17 мин
Количество просмотров52K


Помогая пользователям NGINX с разрешением проблемных ситуаций, мы поняли, что большинство из них часто совершает одни и те же ошибки конфигурации. Более того, подобные ситуации вполне могут возникнуть даже у самих инженеров NGINX! В этой статье рассмотрим 10 наиболее распространенных ошибок и объясним как их исправить.


  1. Недостаточное количество файловых дескрипторов;
  2. Директива error_log off;
  3. Отсутствие keepalive-соединения с вышестоящими серверами;
  4. Упущение механизмов наследования директив;
  5. Директива proxy_buffering;
  6. Неправильное использование директивы if;
  7. Чрезмерные проверки работоспособности;
  8. Незащищенный доступ к метрикам;
  9. Использование ip_hash, когда весь трафик поступает из одного и того же блока /24 CIDR;
  10. Игнорирование преимуществ вышестоящих групп.
Читать дальше →
Всего голосов 70: ↑70 и ↓0+70
Комментарии3

Nginx. О чем не пишут в книгах

Время на прочтение9 мин
Количество просмотров45K

Эта статья родилась случайно. Слоняясь по книжному фестивалю и наблюдая, как дочка пытает консультантов, заставляя их искать Иэна Стюарта, мой глаз зацепился за знакомые буквы на обложке: "Nginx".

Надо же, на полках нашлось целых три книги - не полистать их было бы преступлением. Первая, вторая, третья... Ощущение, будто что-то не так. Ну вроде страниц много, текст связный, но каково содержание? Установка nginx, список переменных и модулей, а дальше docker, ansible. Открываем вторую: wget, лимиты запросов и памяти, балансировка, kubernetes, AWS. Третья: GeoIP, авторизация, потоковое вещание, puppet, Azure. Ребята, а где про то, как вообще работает nginx? На кого рассчитаны ваши книги? На состоявшегося админа, который и так знает архитектуру этого веб-сервера? Да он вроде с базовыми настройками и сам справится. На новичка, который не знает как пользоваться wget? Вы уверены, что ему знание о существовании ngx_http_degradation_module и тем паче "облака" важнее порядка прохождения запроса?

Итак. О чем не пишут в книгах.
(здесь и дальше мы говорим только о NGX_HTTP_)

Фазы обработки запроса
Всего голосов 86: ↑86 и ↓0+86
Комментарии11

Домашний DPI, или как бороться с провайдером его же методами

Время на прочтение16 мин
Количество просмотров238K

Долгое время я терпел ограничения РосКомНадзора и соответствующие действия провайдеров по различным ограничениям доступа к сайтам - но с определённого момента устал, и начал думать как бы сделать так, чтобы было и удобно, и быстро, и при этом с минимумом заморочек после настройки... Хочу оговориться, что цель анонимизации не ставилась.

Вообще, эта проблема имеет несколько решений... Но я решил бороться с провайдером их же методом.

...При помощи NGINX!
Всего голосов 246: ↑245 и ↓1+244
Комментарии187

Частые ошибки в настройках Nginx, из-за которых веб-сервер становится уязвимым

Время на прочтение8 мин
Количество просмотров63K

Nginx — это веб-сервер, на котором работает треть всех сайтов в мире. Но если забыть или проигнорировать некоторые ошибки в настройках, можно стать отличной мишенью для злоумышленников. Detectify Crowdsource подготовил список наиболее часто встречающихся ошибок, делающих сайт уязвимым для атак.

Nginx — один из наиболее часто используемых веб-серверов в Интернете, поскольку он модульный, отзывчивый под нагрузкой и может масштабироваться на минимальном железе. Компания Detectify регулярно сканирует Nginx на предмет неправильных настроек и уязвимостей, из-за которых могут пострадать пользователи. Найденные уязвимости потом внедряются в качестве теста безопасности в сканер веб-приложений.

Мы проанализировали почти 50 000 уникальных файлов конфигурации Nginx, загруженных с GitHub с помощью Google BigQuery. С помощью собранных данных нам удалось выяснить,  какие ошибки в конфигурациях встречаются чаще всего.

Читать далее
Всего голосов 68: ↑67 и ↓1+66
Комментарии23

Как мы сэкономили 2000 USD на трафике из Amazon S3 с помощью nginx-кэша

Время на прочтение6 мин
Количество просмотров18K

Эта небольшая история — живое свидетельство того, как самые простые решения (иногда) могут оказаться очень эффективными. В одном из проектов руководство взяло курс на оптимизацию бюджета на инфраструктуру. В результате анализа всех статей расходов стало очевидным, что заметно выдаются счета за сетевой трафик из Amazon S3-бакета, где хранится публичная статика веб-приложения. Так появилась задача найти и реализовать максимально недорогой и решающий бизнес-задачу способ.

Читать далее
Всего голосов 57: ↑55 и ↓2+53
Комментарии27

Несколько советов о том, как ускорить сборку Docker-образов. Например, до 30 секунд

Время на прочтение11 мин
Количество просмотров28K

Прежде чем фича попадет на прод, в наше время сложных оркестраторов и CI/CD предстоит пройти долгий путь от коммита до тестов и доставки. Раньше можно было кинуть новые файлы по FTP (так больше никто не делает, верно?), и процесс «деплоя» занимал секунды. Теперь же надо создать merge request и ждать немалое время, пока фича доберётся до пользователей.


Часть этого пути — сборка Docker-образа. Иногда сборка длится минуты, иногда — десятки минут, что сложно назвать нормальным. В данной статье возьмём простое приложение, которое упакуем в образ, применим несколько методов для ускорения сборки и рассмотрим нюансы работы этих методов.


Читать дальше →
Всего голосов 54: ↑53 и ↓1+52
Комментарии33

Об одной уязвимости в…

Время на прочтение5 мин
Количество просмотров17K


Год назад, 21 марта 2019, в баг баунти программу Mail.ru на HackerOne пришел очень хороший багрепорт от maxarr. При внедрении нулевого байта (ASCII 0) в POST-параметр одного из API-запросов веб-почты, который возвращал HTTP-редирект, в данных редиректа виднелись куски неинициализированной памяти, в которых чаще всего раскрывались фрагменты из GET-параметров и заголовков других запросов к тому же серверу.
Читать дальше →
Всего голосов 80: ↑77 и ↓3+74
Комментарии14

Манифест об отмене 146 УК и бойкоте Сбербанка и правообладателей-паразитов. За опенсорс и Nginx

Время на прочтение8 мин
Количество просмотров36K

#nginxживи


#ЯМыNginx


#ЯМыСысоевКоновалов


  Астрологи объявили неделю жадных юристов в IT.
Количество правообладятлов увеличилось вдвое.

Когда они вводили реестр запрещенных сайтов, я молчал — что мне до педофилов и экстремистов?..


Когда они пришли за Богатовым, я молчал — я ведь не держал выходную ноду Tor.


Когда они арестовывали протестующих в Москве, я молчал — кто их знает, этих оппозиционеров, может это всё Запад стабильность нарушает.


Когда они собирали подписи на GitHub в поддержку Котова, я молчал — я не разделял его взглядов или не интересовался политикой (чего мне бояться, кому я нужен?).


Когда они пришли за Сысоевым и Коноваловым, я молчал — у меня ведь нет бизнеса на пол-лярда баксов.


… вы находитесь здесь...


Когда они ввели выездные визы для всех с зарплатой выше среднего, я...


Стоп. *звук ускоренной перемотки назад*


Мы, IT-шники, люди интеллектуальные. Сначала, пусть краткий, но логический и этический анализ. Каковы более глубокие причины происходящего, и соответственно, что на самом деле следует делать?

И как говаривали римляне, Qui prodest?
Всего голосов 197: ↑127 и ↓70+57
Комментарии392

Хроника противостояния Рамблера и Nginx (обновлено 10 июня 2020)

Время на прочтение3 мин
Количество просмотров167K


12 декабря 2019 из твиттера сотрудника Nginx стало известно, что в офисе компании прошел обыск в рамках уголовного дела по статье 146 УК РФ «Нарушение авторских и смежных прав». Претензии предъявила компания Рамблер, хотя формально обвинителем стала Lynwood Investments CY Ltd, которой передали на это права. Последняя связана с совладельцем Rambler Group Александром Мамутом.

Вот как развивались события.
Читать дальше →
Всего голосов 206: ↑202 и ↓4+198
Комментарии267

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн

Корпорация F5 Networks рассылает своим клиентам письма, в которых информирует о текущей ситуации с NGINX

Время на прочтение2 мин
Количество просмотров59K

Reddit-пользователь m8r-1975wk, работающий в компании, которая сотрудничает с корпорацией F5 Networks, опубликовал письмо, пришедшее в рассылке от F5.

Рейтинг данного пользователя соответствует уровню обычного вменяемого участника reddit: карма его публикаций находится в пределах 1400, а карма комментариев — вблизи показателя 5700.
Читать дальше →
Всего голосов 79: ↑78 и ↓1+77
Комментарии146

В 2011 году уже обсуждался вопрос, кому принадлежит Nginx — Игорю Сысоеву или «Рамблеру»

Время на прочтение1 мин
Количество просмотров45K

Примерно спустя десятилетие после начала работы над своим open-source-проектом Игорь Сысоев в июле 2011 года создал компанию «Nginx». К веб-серверу, ставшему к тому времени одним из самых популярных в мире, ожидаемо проявили интерес частные инвесторы и осенью того же года компания Сысоева привлекла инвестиции в размере 3 миллионов долларов. Треть акций компании приобрели фонды BV Capital, Runa Capital и MSD Capital.

В «Рамблере» тогда заявили, что не претендуют на эти деньги.
Читать дальше →
Всего голосов 116: ↑111 и ↓5+106
Комментарии149

Atlas Shrugged, или поворот не туда

Время на прочтение2 мин
Количество просмотров30K
image

Самое дорогое, что есть у каждого человека — его жизнь и время, отпущенное ему. Каждый распоряжается этими ресурсами по-своему. Нет второго шанса, нельзя родиться заново, часы не отмотать назад. Игорь Сысоев день за днем почти 20 лет своей жизни посвящал кропотливой работе над тем, чтобы подарить людям всего Человечества, пожалуй, лучший веб-сервер из существующих. Игорь совершенно не обязан был публиковать исходники NGINX под свободной лицензией, но он поступил так добровольно, это был его вклад в изменение нашего Мира к лучшему.

Вряд ли Игорь думал в тот день, когда публиковал исходники в первый раз, что open source поможет ему стать долларовым миллиардером. Наверное не думал он и о том, как когда-нибудь однажды попадет в один ряд с другими отцами-основателями сети Интернет, такими как Тим Бернс Ли, Пол Бэран или Брюстер Кейл. А сбылось это: на сегодняшний день по данным Netcraft, число сайтов, обслуживаемых nginx, превысило 447 миллионов. И вы тоже можете использовать для своего сайта этот веб-сервер, это произведение современного искусства, причем совершенно бесплатно!

Поэтому в конечном итоге, деньги, которые Игорь Сысоев счастливым образом получил, были честно заработаны его собственными кровью и потом (а не на горе и страдании или рабском труде других людей), он их заслужил! Его Филдсовская или Нобелевская премия Мира если хотите…

В бизнесе всегда возникают конфликты и трения, его суть — в конкуренции. Но сейчас неопределенный круг вполне конкретных людей хочет не конкурента в честной рыночной борьбе победить, а хочет эта группировка заслуги Игоря Сысоева втоптать в грязь, обесценить, филантропа выставить вором, а его награду присвоить себе по праву силы. Причем сделать это пытаются не в порядке добросовестного заявителя — в арбитражном суде, а самым грязным способом в духе 90х, с привлечением ресурса силовых структур.
Читать дальше →
Всего голосов 228: ↑218 и ↓10+208
Комментарии152

Позиция инженерной команды Okko по событиям, связанным с Nginx

Время на прочтение2 мин
Количество просмотров49K
Мы, инженерная команда Okko, полностью поддерживаем открытое ПО и в сегодняшней ситуации с Игорем Сысоевым выступаем на стороне IT-сообщества.

Как вы знаете, в прошедшие два года у Окко сменились акционеры, однако, до сих пор это не влияло на нашу работу, так как акционеры предоставляли нам свободу действий. История с NGINX стала полной неожиданностью для всех нас. Порция ненависти досталась заодно и нам, как онлайн-сервису, входящему теперь в Rambler Group.

Тем не менее, увольняться и бросать наш сервис, который мы строили без малого 10 лет, мы не хотим, и собираемся продолжать развивать его дальше. Причина этого — наша ответственность перед миллионами простых пользователей сервиса, 90% которых не знает даже, что такое веб-сервис, и наше огромное желание показывать им лучший футбол и фильмы.

Как уже сообщалось в СМИ, до конца года ожидается разбор ситуации среди акционеров, а мы пока с искренним волнением и болью следим за развитием ситуации и рассчитываем на благополучный ее исход во благо всего IT-сообщества. Искренне надеемся, что вы разберетесь в ситуации и не будете вымещать на нас и нашем сервисе Okko свою злобу и раздражение.
Читать дальше →
Всего голосов 211: ↑162 и ↓49+113
Комментарии208

Что на самом деле значит наезд Rambler Group на Nginx и к чему готовиться онлайн-индустрии

Время на прочтение3 мин
Количество просмотров49K
В посте «Что значит наезд Rambler Group на Nginx и основателей и как это отразится на онлайн-индустрии» deniskin привёл четыре возможных последствия этой истории для российской интернет-индустрии:

  • Ухудшение инвестиционной привлекательности стартапов из России.
  • Стартапы будут чаще инкорпорироваться не в России.
  • В стремлении государства контролировать важный онлайн-бизнес больше нет никаких сомнений.
  • Компрометация HR-бренда Rambler Group.

Всё перечисленное — не последствия, а, скорее всего, причины атаки «Рамблера» на Nginx. Точнее, это описание условий, в которых уже существует российская онлайн-индустрия — условий, в которых атаки, подобные этой — не ошибка, не случайность, а закономерность.

  1. Инвестиционный климат в России давно плохой;
  2. стартапы (и не только), если есть возможность, давно инкорпорируются не в России;
  3. в стремлении государства контролировать важный онлайн-бизнес давно нет никаких сомнений;
  4. бренд «Рамблера» давно скомпрометирован.

Иными словами, пирог — в смысле мест в экономике, откуда ещё можно вытрясти денег — скукоживается всевозрастающими темпами, а разинутых ртов меньше не становится. Как следствие — борьба за каждый кусок обостряется.

Так что пытаться разбудить «Рамблер», чтобы сообщить, что они обосрались не ведают, что творят, бесполезно — они не спят, и очень даже ведают.

Напугать их списком возможных последствий для онлайн-индустрии в России не получится, потому что это давно уже не гипотетическая возможность, а объективная реальность. И реальность эта уже не следствие, а причина разгоняющегося беспредела.

Отстоять Nginx и Игоря Сысоева, возможно, и получится. Как получилось, например, недавно отстоять Ивана Голунова. Но это частный, пусть и счастливый, случай. Устоявшейся практики фальсификации уголовных дел это никак не отменяет.

Так и исход атаки на Nginx и Сысоева, каким бы он ни был, условий, в которых она созрела и произошла, не изменит.
Читать дальше →
Всего голосов 193: ↑180 и ↓13+167
Комментарии142

[Обновление] Наших бьют, а мы будем молчать?

Время на прочтение4 мин
Количество просмотров52K
Касательно обысков в офисе nginx и аресте Игоря Сысоева на хабре уже написано и сделан подробный разбор, я о том же, но с другой стороны...

Что же это делается, братцы? Вон оно как журналисты встали стеной за Голунова. А мы чем хуже?

Это же беспредел какой-то, или просто позор чистой воды. То ли берега попутали, то ли нам показывают, кто в доме хозяин. Бездари за копейку используют чужие таланты — мы к этому давно привыкли. Таланту много не надо, дай творить, ну и на поесть кроху.

Но теперь им и этого мало! Мяса им подавай, с кровью! Ведь, как повезло, у нас в стране много талантов, всех не зарубишь — народятся ещё, не сегодня, так завтра. Считай неисчерпаемый ресурс.
Не благодаря, а вопреки!
Читать дальше →
Всего голосов 173: ↑148 и ↓25+123
Комментарии191