ะะพัะปะต ะณะพะดะฐ ัะฐะทัะฐะฑะพัะบะธ ะพะฟัะฑะปะธะบะพะฒะฐะฝะฐ ะฝะพะฒะฐั ััะฐะฑะธะปัะฝะฐั ะฒะตัะบะฐ ะฒััะพะบะพะฟัะพะธะทะฒะพะดะธัะตะปัะฝะพะณะพ HTTP-ัะตัะฒะตัะฐ ะธ ะผะฝะพะณะพะฟัะพัะพะบะพะปัะฝะพะณะพ ะฟัะพะบัะธ-ัะตัะฒะตัะฐ nginx 1.26.0, ะบะพัะพัะฐั ะฒะพะฑัะฐะปะฐ ะฒ ัะตะฑั ะธะทะผะตะฝะตะฝะธั, ะฝะฐะบะพะฟะปะตะฝะฝัะต ะฒ ะพัะฝะพะฒะฝะพะน ะฒะตัะบะต 1.25.x. ะ ะดะฐะปัะฝะตะนัะตะผ ะฒัะต ะธะทะผะตะฝะตะฝะธั ะฒ ััะฐะฑะธะปัะฝะพะน ะฒะตัะบะต 1.26 ะฑัะดัั ัะฒัะทะฐะฝั ั ััััะฐะฝะตะฝะธะตะผ ัะตัััะทะฝัั ะพัะธะฑะพะบ ะธ ััะทะฒะธะผะพััะตะน. ะ ัะบะพัะพะผ ะฒัะตะผะตะฝะธ ะฑัะดะตั ััะพัะผะธัะพะฒะฐะฝะฐ ะพัะฝะพะฒะฝะฐั ะฒะตัะบะฐ nginx 1.27, ะฒ ะบะพัะพัะพะน ะฑัะดะตั ะฟัะพะดะพะปะถะตะฝะพ ัะฐะทะฒะธัะธะต ะฝะพะฒัั ะฒะพะทะผะพะถะฝะพััะตะน. ะะปั ะพะฑััะฝัั ะฟะพะปัะทะพะฒะฐัะตะปะตะน, ั ะบะพัะพััั ะฝะตั ะทะฐะดะฐัะธ ะพะฑะตัะฟะตัะธัั ัะพะฒะผะตััะธะผะพััั ัะพ ััะพัะพะฝะฝะธะผะธ ะผะพะดัะปัะผะธ, ัะตะบะพะผะตะฝะดัะตััั ะธัะฟะพะปัะทะพะฒะฐัั ะพัะฝะพะฒะฝัั ะฒะตัะบั, ะฝะฐ ะฑะฐะทะต ะบะพัะพัะพะน ัะฐะท ะฒ ััะธ ะผะตัััะฐ ัะพัะผะธัััััั ะฒัะฟััะบะธ ะบะพะผะผะตััะตัะบะพะณะพ ะฟัะพะดัะบัะฐ Nginx Plus.
ะ ัะพะพัะฒะตัััะฒะธะธ ั ะผะฐััะพะฒัะบะธะผ ะพััััะพะผ ะบะพะผะฟะฐะฝะธะธ Netcraft ะฟะพะด ัะฟัะฐะฒะปะตะฝะธะตะผ nginx ัะฐะฑะพัะฐะตั ะพะบะพะปะพ 243 ะผะปะฝ ัะฐะนัะพะฒ (ะณะพะด ะฝะฐะทะฐะด 289 ะผะปะฝ). Nginx ะธัะฟะพะปัะทัะตััั ะฝะฐ 18.15% ะฒัะตั ะฐะบัะธะฒะฝัั ัะฐะนัะพะฒ (ะณะพะด ะฝะฐะทะฐะด 18.94%, ะดะฒะฐ ะณะพะดะฐ ะฝะฐะทะฐะด 20.08%), ััะพ ัะพะพัะฒะตัััะฒัะตั ะฒัะพัะพะผั ะผะตััั ะฟะพ ะฟะพะฟัะปััะฝะพััะธ ะฒ ะดะฐะฝะฝะพะน ะบะฐัะตะณะพัะธะธ (ะดะพะปั Apache ัะพะพัะฒะตัััะฒัะตั 20.09% (ะณะพะด ะฝะฐะทะฐะด 20.52, ะดะฒะฐ ะณะพะดะฐ ะฝะฐะทะฐะด 22.58%), Cloudflare โ 14.12% (11.32%, 10.42%), Google โ 10.41% (9.89%, 8.89%). ะัะธ ััะพะผ ะฟัะธ ัะฐััะผะพััะตะฝะธะธ ะฒัะตั ัะฐะนัะพะฒ nginx ัะพั ัะฐะฝัะตั ะปะธะดะตัััะฒะพ ะธ ะทะฐะฝะธะผะฐะตั 22.31% ััะฝะบะฐ (ะณะพะด ะฝะฐะทะฐะด 25.94%, ะดะฒะฐ ะณะพะดะฐ ะฝะฐะทะฐะด โ 31.13%), ะฒ ัะพ ะฒัะตะผั ะบะฐะบ ะดะพะปั Apache ัะพะพัะฒะตัััะฒัะตั 20.17% (20.58, 23.08%), Cloudflare โ 11.24% (10.17, 5.49%), OpenResty (ะฟะปะฐััะพัะผะฐ ะฝะฐ ะฑะฐะทะต nginx ะธ LuaJIT) โ 7.93% (7.94%, 8.01%).
ะกัะตะดะธ ะผะธะปะปะธะพะฝะฐ ัะฐะผัั ะฟะพัะตัะฐะตะผัั ัะฐะนัะพะฒ ะฒ ะผะธัะต ะดะพะปั nginx ัะพััะฐะฒะปัะตั 20.63% (ะณะพะด ะฝะฐะทะฐะด 21.37%, ะดะฒะฐ ะณะพะดะฐ ะฝะฐะทะฐะด 21.79%), Cloudflare โ 22.59% (ะณะพะด ะฝะฐะทะฐะด 21.62%), Apache httpd โ 20.09% (21.18%). ะะพ ะดะฐะฝะฝัะผ W3Techs nginx ะธัะฟะพะปัะทัะตััั ะฝะฐ 34.3% ัะฐะนัะพะฒ ะธะท ะผะธะปะปะธะพะฝะฐ ัะฐะผัั ะฟะพัะตัะฐะตะผัั , ะฒ ะฐะฟัะตะปั ะฟัะพัะปะพะณะพ ะณะพะดะฐ ััะพั ะฟะพะบะฐะทะฐัะตะปั ัะพััะฐะฒะปัะป 34.5%, ะฟะพะทะฐะฟัะพัะปะพะณะพ โ 33.1%. ะะพะปั Apache ะทะฐ ะณะพะด ัะฝะธะทะธะปะฐัั ั 32.2% ะดะพ %30.1, ะฐ ะดะพะปั Microsoft IIS ัะฝะธะทะธะปะฐัั ั 5.6% ะดะพ 4.8%. ะะพะปั Node.js ัะฒะตะปะธัะธะปะฐัั ั 2.4% ะดะพ 3.2%, ะฐ ะดะพะปั LiteSpeed ั 11.8% ะดะพ 12.9%.
1.25.x เด เดชเตโเดธเตเดเตเดฐเตเด เดฌเตเดฐเดพเดเตเดเดฟเดจเตเดฑเต เดตเดฟเดเดธเดจ เดธเดฎเดฏเดคเตเดคเต เดเตเตผเดคเตเดค เดเดฑเตเดฑเดตเตเด เดถเตเดฐเดฆเตเดงเตเดฏเดฎเดพเดฏ เดฎเตเดเตเดเดชเตเดชเตเดเตเดคเตเดคเดฒเตเดเตพ:
- ะะพะฑะฐะฒะปะตะฝ ะผะพะดัะปั ngx_http_v3 ั ัะบัะฟะตัะธะผะตะฝัะฐะปัะฝะพะน ะฟะพะดะดะตัะถะบะพะน ะฟัะพัะพะบะพะปะฐ HTTP/3. ะะปั ัะฑะพัะบะธ ะผะพะดัะปั ะฟัะตะดััะผะพััะตะฝะฐ ะพะฟัะธั ยซโwith-http_v3_moduleยป. HTTP/3 ะพะฟัะตะดะตะปัะตั ะธัะฟะพะปัะทะพะฒะฐะฝะธะต ะฟัะพัะพะบะพะปะฐ QUIC (Quick UDP Internet Connections) ะฒ ะบะฐัะตััะฒะต ััะฐะฝัะฟะพััะฐ ะดะปั HTTP/2. QUIC ะฟัะตะดััะฐะฒะปัะตั ัะพะฑะพะน ะฝะฐะดัััะพะนะบั ะฝะฐะด ะฟัะพัะพะบะพะปะพะผ UDP, ะฟะพะดะดะตัะถะธะฒะฐัััั ะผัะปััะธะฟะปะตะบัะธัะพะฒะฐะฝะธะต ะฝะตัะบะพะปัะบะธั ัะพะตะดะธะฝะตะฝะธะน ะธ ะพะฑะตัะฟะตัะธะฒะฐัััั ะผะตัะพะดั ัะธััะพะฒะฐะฝะธั, ัะบะฒะธะฒะฐะปะตะฝัะฝัะต TLS/SSL. ะัะพัะพะบะพะป ะฑัะป ัะพะทะดะฐะฝ ะฒ 2013 ะณะพะดั ะบะพะผะฟะฐะฝะธะตะน Google ะฒ ะบะฐัะตััะฒะต ะฐะปััะตัะฝะฐัะธะฒั ัะฒัะทะบะต TCP+TLS ะดะปั Web, ัะตัะฐััะตะน ะฟัะพะฑะปะตะผั ั ะฑะพะปััะธะผ ะฒัะตะผะตะฝะตะผ ัััะฐะฝะพะฒะบะธ ะธ ัะพะณะปะฐัะพะฒะฐะฝะธั ัะพะตะดะธะฝะตะฝะธะน ะฒ TCP ะธ ััััะฐะฝัััะตะน ะทะฐะดะตัะถะบะธ ะฟัะธ ะฟะพัะตัะต ะฟะฐะบะตัะพะฒ ะฒ ะฟัะพัะตััะต ะฟะตัะตะดะฐัะธ ะดะฐะฝะฝัั .
- เดธเตเตผเดตเดฑเตเดเดณเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเตเดเตเดเต HTTP/2 เดชเตเดฐเตเดเตเดเตเดเตเดเตเตพ เดคเดฟเดฐเดเตเดเตเดเตเดคเตเดคเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดทเดฎเดฎเดพเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดเดฐเต เดชเตเดฐเดคเตเดฏเตเด "http2" เดจเดฟเตผเดฆเตเดฆเตเดถเด เดเตเตผเดคเตเดคเดฟเดเตเดเตเดฃเตเดเต (เดชเตเดฐเดคเตเดฏเตเด "เดธเตเตผเดตเตผ" เดฌเตเดฒเตเดเตเดเตเดเดณเดฟเตฝ เดเดชเดฏเตเดเดฟเดเตเดเดพเด). "เดถเตเดฐเดตเดฟเดเตเดเตเด" เดจเดฟเตผเดฆเตเดฆเตเดถเดคเตเดคเดฟเดฒเต "http2" เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเตผ เด เดตเดธเดพเดจเดฟเดชเตเดชเดฟเดเตเดเต.
- ะฃัะธะปะตะฝะฐ ะทะฐัะธัะฐ ะพั ะฐะฝะพะผะฐะปัะฝะพะน ะฐะบัะธะฒะฝะพััะธ ะบะปะธะตะฝัะพะฒ HTTP/2, ะธ, ะฒ ัะฐััะฝะพััะธ, ะพั DoS-ะฐัะฐะบ ะบะปะฐััะฐ ยซRapid Resetยป, ะฒ ะบะพัะพััั ัะพะทะดะฐัััั ะฑะพะปััะพะต ัะธัะปะพ ััะฐะทั ัะฑัะฐััะฒะฐะตะผัั ะฟะพัะพะบะพะฒ ะฒ ัะฐะผะบะฐั ะพะดะฝะพะณะพ ัะพะตะดะธะฝะตะฝะธั HTTP/2. ะ ะบะพะฝัะธะณััะฐัะธะธ ะฟะพ ัะผะพะปัะฐะฝะธั ะฟะพะดะพะฑะฝัะต ะฐัะฐะบะธ ัะฟะธัะฐัััั ะฒ ะปะธะผะธั ะฝะฐ ัะธัะปะพ ะทะฐะฟัะพัะพะฒ ะฝะฐ ัะพะตะดะธะฝะตะฝะธะต ยซkeepalive_requestsยป (ะฟะพัะปะต ะบะฐะถะดัั 1000 ะทะฐะฟัะพัะพะฒ ัะพะตะดะธะฝะตะฝะธะต ะฑัะดะตั ัะฑัะฐััะฒะฐัััั) ะธ ะฒ ะพะณัะฐะฝะธัะตะฝะธั ยซlimit_reqยป. ะะปั ะฑะพะปะตะต ัะฐะฝะฝะตะณะพ ัะตะฐะณะธัะพะฒะฐะฝะธั ะฝะฐ ัะปัะด ะทะฐะฟัะพัะฐะผะธ ัะตัะตะท ะฑะพะปััะพะต ัะธัะปะพ ะฟะพัะพะบะพะฒ ะดะพะฑะฐะฒะปะตะฝะพ ะดะพะฟะพะปะฝะธัะตะปัะฝะพะต ะพะณัะฐะฝะธัะตะฝะธะต, ะฝะต ะฟะพะทะฒะพะปัััะธะต ัะพะทะดะฐะฒะฐัั ะฟะพ ัะผะพะปัะฐะฝะธั ะฑะพะปะตะต 256 (2 * max_concurrent_streams) ะฝะพะฒัั ะฟะพัะพะบะพะฒ ะฝะฐ ะบะฐะถะดัะน ัะธะบะป ะพะฑัะฐะฑะพัะบะธ ัะพะฑััะธะน. ะะพะฒะพะต ะพะณัะฐะฝะธัะตะฝะธะต ะดะฐัั ะฒะพะทะผะพะถะฝะพััั ะฝะฐัะฐัั ะฑะปะพะบะธัะพะฒะฐัั ะทะฐะฟัะพัั ะดะพ ะดะพััะธะถะตะฝะธั ะพะฑัะตะณะพ ะปะธะผะธัะฐ ะฝะฐ ัะธัะปะพ ะพะดะฝะพะฒัะตะผะตะฝะฝัั ะฟะพัะพะบะพะฒ, ะฝะฐะฟัะธะผะตั, ะบะพะณะดะฐ ะฟะพัะพะบะธ ะพะฑัะฐะฑะฐััะฒะฐัััั ะฐัะธะฝั ัะพะฝะฝะพ ะธะปะธ ัะฑัะฐััะฒะฐัััั.
- เดตเตเตผเดเตเดตเตฝ เดธเตเตผเดตเดฑเตเดเตพเดเตเดเตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ เดธเตเดเตเดฐเตเด เดฎเตเดกเตเดฏเตเดณเดฟเดฒเตเดเตเดเต เดเตเตผเดคเตเดคเต, เดธเตเตผเดตเตผ_เดจเตเดฏเดฟเด เดกเดฏเดฑเดเตโเดเตเดตเต เดเดชเดฏเตเดเดฟเดเตเดเต โเดธเตเตผเดตเตผ { ... }โ เดฌเตเดฒเตเดเตเดเดฟเตฝ เดเดคเดฟเตปเตเดฑเต เดเตเตบเดซเดฟเดเดฑเตเดทเตป เดจเดฟเตผเดตเดเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต. เดธเตเตผเดตเตผ {server_name ~^(www\.)?(.+)$; proxy_pass www.$2:12345; }
- http, เดธเตเดเตเดฐเตเด, เดฎเตเดฏเดฟเตฝ เดคเตเดเดเตเดเดฟเดฏ เดฎเตเดกเตเดฏเตเดณเตเดเดณเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเตเดเตเด เดเดคเต เดฒเดฟเดธเดฃเดฟเดเดเต เดธเตเดเตเดเดฑเตเดฑเดฟเดฒเตเดเตเดเตเด เดธเตเดตเตเดเดฐเดฟเดเตเด เดเดฃเดเตเดทเดจเตเดเตพ เดจเตเดฐเดฟเดเตเดเต เดเตเดฎเดพเดฑเดพเตป เดฐเตเดชเดเตฝเดชเตเดชเดจ เดเตเดฏเตโเดคเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดเดฐเต เดชเตเดคเดฟเดฏ เดฎเตเดกเตเดฏเตเตพ ngx_stream_pass_module เดเตเตผเดคเตเดคเต. เดธเตเดเตเดฐเตเด {เดธเตเตผเดตเตผ {เดถเตเดฐเดตเดฟเดเตเดเตเด 12345 เดเดธเตเดเดธเตเดเตฝ; ssl_certificate domain.crt; ssl_certificate_key domain.key; เดชเดพเดธเต 127.0.0.1:8000; } }
- เดธเตโเดเตเดฐเตเด เดฎเตเดกเตเดฏเตเดณเดฟเตปเตเดฑเต เดฒเดฟเดธเดฃเดฟเดเดเต เดกเดฏเดฑเดเตโเดเตเดตเต โเดกเดฟเดซเตเตผเดกเตโ (เดกเดฟเดซเตเตผเดกเต เดธเตโเดเตเดตเตเดชเตโเดฑเตเดฑเต เดชเตเดฐเดพเดชเตโเดคเดฎเดพเดเตเดเตเดจเตเดจเต), โเด เดเตโเดธเตเดชเตเดฑเตเดฑเต_เดซเดฟเตฝเดฑเตเดฑเตผโ (เด เดเตโเดธเตเดชเตเดฑเตเดฑเต เดซเดเดเตโเดทเดจเต เดตเดฟเดณเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เดเตปเดเดฎเดฟเดเดเต เดเดฃเดเตเดทเตป เดซเดฟเตฝเดเตเดเตผ เดชเตเดฐเดฏเตเดเดฟเดเตเดเต), โเดธเตเดฑเตเดฑเตโเดซเดฟเดฌเตโ (เดฑเตเดเตเดเดฟเดเดเต เดเตเดฌเดฟเตพ เดธเดเตเดเตเดเดฐเดฟเดเตเดเตฝ) เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเตเดเตพเดเตเดเตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเตเดจเตเดจเต.
- เดเดฟเดฒ เดเตผเดเตเดเดฟเดเตเดเตเดเดฑเตเดเตพเดเตเดเต, CPU เดเดพเดทเตเดฏเตเดเตเดเตเด เดฎเตเดฎเตเดฎเดฑเดฟเดฏเตเดเตเดเตเด เดเดเดฏเดฟเตฝ เดกเดพเดฑเตเดฑ เดเตเดฎเดพเดฑเดพเตป เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจ เดฌเตเดฒเตเดเตเดเต เดตเดฒเตเดชเตเดชเด (เดเดพเดทเต เดฒเตเตป) เดจเดฟเตผเดฃเตเดฃเดฏเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเดฟเดฏเดฟเดเตเดเตเดฃเตเดเต.
- HTTP/2 เดเดฃเดเตเดทเดจเตเดเตพ เดธเตเดตเดฏเดฎเตเดต เดเดฃเตเดเตเดคเตเดคเตเดฎเตเดชเตเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจ เดฌเดซเดฑเตเดเดณเตเดเต เดฎเตเดเตเดเดชเตเดชเตเดเตเด เดฎเดพเดจเตเดเตเดฎเตเดจเตเดฑเต.
- เดงเดพเดฐเดพเดณเด "เดฒเตเดเตเดเตเดทเตป" เดจเดฟเตผเดฆเตเดฆเตเดถเดเตเดเดณเตเดณเตเดณ เดเตเตบเดซเดฟเดเดฑเตเดทเดจเตเดเตพ เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดฑเต เดชเตเดฐเดเดเดจเด เดฎเตเดเตเดเดชเตเดชเตเดเตเดคเตเดคเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต.
- HTTP/2-เดฒเต เดธเตเตผเดตเตผ เดชเตเดทเต เดธเดพเดเตเดเตเดคเดฟเดเดตเดฟเดฆเตเดฏเดฏเตเดเตเดเตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ เดจเตเดเตเดเดเดเตเดฏเตโเดคเต.
- เดฎเตเดฎเตเดชเต เดเดดเดฟเดตเดพเดเตเดเดฟเดฏ "ssl" เดจเดฟเตผเดฆเตเดฆเตเดถเด เดจเดฟเตผเดคเตเดคเดฒเดพเดเตเดเดฟ.
ะกัะฐะฑะธะปัะฝัะน ะฒัะฟััะบ ะฟัะพะตะบัะฐ FreeNginx 1.26.0, ัะฐะทะฒะธะฒะฐััะตะณะพ ัะพัะบ Nginx, ะฑัะป ะพะฟัะฑะปะธะบะพะฒะฐะฝ ะดะฒะต ะฝะตะดะตะปะธ ะฝะฐะทะฐะด. ะ ะฐะทัะฐะฑะพัะบั ัะพัะบะฐ ะฒะตะดัั ะะฐะบัะธะผ ะัะฝะธะฝ, ะพะดะธะฝ ะธะท ะบะปััะตะฒัั
ัะฐะทัะฐะฑะพััะธะบะพะฒ Nginx. FreeNginx ะฟะพะทะธัะธะพะฝะธััะตััั ะบะฐะบ ะฝะตะบะพะผะผะตััะตัะบะธะน ะฟัะพะตะบั, ะพะฑะตัะฟะตัะธะฒะฐััะธะน ัะฐะทัะฐะฑะพัะบั ะบะพะดะพะฒะพะน ะฑะฐะทั Nginx ะฑะตะท ะบะพัะฟะพัะฐัะธะฒะฝะพะณะพ ะฒะผะตัะฐัะตะปัััะฒะฐ.
เด
เดตเดฒเดเดฌเด: opennet.ru