nginx 1.18.0 издание

По една година развој е претставен нова стабилна гранка на HTTP сервер со високи перформанси и повеќепротоколен прокси-сервер nginx 1.18.0, кој ги апсорбира промените акумулирани во главната гранка 1.17.x. Во иднина, сите промени во стабилната гранка 1.18 ќе бидат поврзани со елиминирање на сериозни грешки и пропусти. Наскоро ќе се формира главната гранка на nginx 1.19, во чии рамки ќе продолжи развојот на нови функции. За обичните корисници кои немаат задача да обезбедат компатибилност со модули од трети страни, се препорачува користете ја главната гранка, врз основа на која се формираат изданија на комерцијалниот производ Nginx Plus на секои три месеци.

Во согласност со Априлски извештај Netcraft nginx се користи на 19.56% од сите активни сајтови (пред една година 20.73%, пред две години 21.02%), што одговара на второто место по популарност во оваа категорија (уделот на Apache одговара на 27.64%, Google - 10.03%, Microsoft IIS - 4.77%). Во исто време, кога се разгледуваат сите страници, nginx го задржува своето лидерство и зазема 36.91% од пазарот (пред една година 27.52%), додека уделот на Apache одговара на 24.73%, Microsoft IIS - 12.85%, Google - 3.42%.

Меѓу милионите најпосетувани сајтови во светот, уделот на nginx е 25.54% (пред една година 26.22%, пред две години 23.76%). Во моментов, околу 459 милиони веб-страници работат со Nginx (397 милиони пред една година). Од страна на дадени W3Techs nginx се користи на 31.9% од сајтовите од милион најпосетувани, во април минатата година оваа бројка беше 41.8%, претходната година - 38% (падот се објаснува со преминот кон посебно сметководство на серверот Cloudflare http). Уделот на Apache падна во текот на годината од 43.6% на 38.9%, а уделот на Microsoft IIS од 8.6% на 8.3%. Во Русија nginx користат на 78.9% од најпосетуваните сајтови (пред една година - 81%).

Најзабележителни подобрувања додадени за време на развојот на 1.17.x возводно гранка:

  • Додадена е директива limit_req_dry_run, кој го активира режимот на пробно извршување, во кој не се применуваат ограничувања за интензитетот на обработка на барањата (без ограничување на брзината), но продолжува да го зема предвид бројот на барања што ги надминуваат границите во споделената меморија;
  • Додадена е директива limit_conn_dry_run, кој го префрла модулот ngx_http_limit_conn_module во режим на тестирање, во кој бројот на врски не е ограничен, туку се зема предвид;
  • Додадена директива "авт_доцнење", што ви овозможува да додадете одложување на неовластени барања со код за одговор од 401 за да го намалите интензитетот на погодување лозинка и да се заштитите од напади, манипулирање со мерењето на времето на извршување на операциите (тајминг напад) при пристап до системи до кои пристапот е ограничен лозинка, резултат на подпрашање или Џ.В.Т. (JSON Web Token);
  • Додадена е поддршка за променливи во директивите "limit_rate" и "limit_rate_after", како и во директивите "proxy_upload_rate" и "proxy_download_rate" на модулот за пренос;
  • Во директивата grpc_pass додадена поддршка за користење на променлива во параметар кој дефинира адреса. Ако адресата е наведена како име на домен, името се пребарува меѓу опишаните групи на сервери и, ако не е пронајдено, потоа се одредува со помош на резолутор;
  • Додадени се нови променливи $proxy_protocol_server_addr и $proxy_protocol_server_port, кои ја содржат адресата на серверот и портата добиени од заглавието на протоколот PROXY;
  • Во модулот ngx_stream_limit_conn_module додадена променлива $limit_conn_status, кој го зачувува резултатот од ограничувањето на бројот на врски: ПОМИНАТ, ОДБИРЕН или ОДБИРЕН_СУШНО_ИСТРУВАЊЕ;
  • Во модулот ngx_http_limit_req_module додадена променлива $limit_req_status, кој го зачувува резултатот од ограничувањето на стапката на пристигнување на барањата: ПОМИНЕ, ОДЛОЖЕНО, ОДБИЕНО, DELAYED_DRY_RUN или REJECTED_DRY_RUN;
  • Стандардно, модулот е составен ngx_http_postpone_filter_module;
  • Додадена е поддршка за менување блокови со име „локација“ со помош на методот $r->internal_redirect() обезбеден од вградениот преведувач Perl. Овој метод сега вклучува обработка на URI со избегнати знаци;
  • Кога ја користите директивата „upstream“ во блокот за поставки „upstream“.хаш» за да се организира балансирање на оптоварување со врзување клиент-сервер, ако наведете празна вредност на клучот, сега е активиран униформниот режим на балансирање (round-robin);
  • Додадена е поддршка за повикување ioctl (FIONREAD) доколку е достапно за да се избегне читање од брза врска со текот на времето.

Извор: opennet.ru

Додадете коментар