Po roce vývoje nová stabilní větev vysoce výkonného HTTP serveru a multiplatformního proxy serveru , která zahrnuje změny shromážděné v hlavní větvi 1.17.x. V budoucnu budou všechny změny v stabilní větvi 1.18 zaměřeny na odstranění závažných chyb a zranitelností. V brzké době bude vytvořena hlavní větev nginx 1.19, ve které budou pokračovat nové možnosti. Pro běžné uživatele, kteří nemají za cíl zajistit kompatibilitu se třetími stranami, používat hlavní větev, na jejímž základě se každé tři měsíce vytvářejí vydání komerčního produktu Nginx Plus.
V souladu s společnosti Netcraft nginx je používán na 19,56 % všech aktivních webů (před rokem 20,73 %, před dvěma lety 21,02 %), což odpovídá druhému místu v populačnosti této kategorie (podíl Apache odpovídá 27,64 %, Google — 10,03 %, Microsoft IIS — 4,77 %). Při zohlednění všech webů však nginx zůstává na špici s podílem 36,91 % trhu (před rokem 27,52 %), zatímco podíl Apache odpovídá 24,73 %, Microsoft IIS — 12,85 %, Google — 3,42 %.
Mezi milionem nejnavštěvovanějších webů na světě má nginx podíl 25,54 % (před rokem 26,22 %, před dvěma lety 23,76 %). V současné době je pod nginx spravováno přibližně 459 milionů webů (před rokem 397 milionů). Na W3Techs nginx je používán na 31,9 % webů z milionu nejnavštěvovanějších, v dubnu minulého roku tento ukazatel činil 41,8 %, před dvěma lety 38 % (pokles je vysvětlen přechodem na samostatné sledování HTTP serveru Cloudflare). Podíl Apache za rok klesl z 43,6 % na 38,9 %, zatímco podíl Microsoft IIS klesl z 8,6 % na 8,3 %. V Rusku nginx na 78,9 % nejnavštěvovanějších webů (před rokem - 81 %).
Nejvýznamnější vylepšení přidaná během vytváření hlavní větve 1.17.x:
- Byla přidána direktiva , který aktivuje zkušební režim, ve kterém se neuplatňují omezení na intenzitu zpracování požadavků (bez rate limit), ale pokračuje se ve sledování počtu požadavků, které překračují limity, v sdílené paměti;
- Byla přidána direktiva , převádějící modul ngx_http_limit_conn_module do zkušebního režimu, v němž není počet připojení omezen, ale monitorován;
- Byla přidána direktiva „„, která umožňuje přidat zpoždění neautorizovaných požadavků s kódem odpovědi 401 pro snížení intenzity pokusů o prolomení hesel a ochranu proti , manipulujícími měřením doby trvání operací (timing attack) při přístupu k systémům, jejichž přístup je omezen , nebo (JSON Web Token);
- Byla přidána podpora proměnných v direktivách „limit_rate“ a „limit_rate_after“, stejně jako v direktivách „proxy_upload_rate“ a „proxy_download_rate“ modulu stream;
- V direktivě byla přidána podpora použití proměnné v parametru určujícím adresu. Pokud je adresa zadána jako doménové jméno, hledá se mezi popsanými skupinami serverů, a pokud nenalezeno, určuje se pomocí resolveru;
- Byly přidány nové proměnné a , které obsahují adresu a port serveru, získané z hlavičky protokolu PROXY;
- V modulu byla přidána proměnná , která uchovává výsledek omezení počtu spojení: PASSED, REJECTED nebo REJECTED_DRY_RUN;
- V modulu byla přidána proměnná , která uchovává výsledek omezení rychlosti příchozích dotazů: PASSED, DELAYED, REJECTED, DELAYED_DRY_RUN nebo REJECTED_DRY_RUN;
- Ve výchozím nastavení byla zajištěna sestava modulu ;
- Byla přidána podpora přepínání pojmenovaných bloků „location“ pomocí metody $r->internal_redirect(), kterou poskytuje vestavěný interpretr Perl. Tato metoda nyní zahrnuje zpracování URI s escapovanými symboly;
- Při použití v bloku nastavení „upstream“ direktivy „“ pro organizaci vyvažování zátěže s přidružením klienta k serveru, se při zadání prázdné hodnoty klíče nyní aktivuje režim rovnoměrného vyvažování (round-robin);
- Byla přidána podpora volání ioctl(FIONREAD), pokud je dostupné, aby se zabránilo čtení z rychlého spojení po dlouhou dobu.
Zdroj: opennet.ru
