nginx 1.20.0 hoʻokuʻu

Ma hope o hoʻokahi makahiki o ka hoʻomohala ʻana, ua hoʻokomo ʻia kahi lālā paʻa hou o ka server HTTP kiʻekiʻe a me ka multi-protocol proxy server nginx 1.20.0, kahi e hoʻopili ai i nā hoʻololi i hōʻiliʻili ʻia ma ka lālā nui 1.19.x. I ka wā e hiki mai ana, e pili ana nā hoʻololi a pau i ka lālā paʻa 1.20 i ka hoʻopau ʻana i nā hewa koʻikoʻi a me nā nāwaliwali. Ma hope koke e hoʻokumu ʻia ka lālā nui o nginx 1.21, kahi e hoʻomau ai ka hoʻomohala ʻana o nā hiʻohiʻona hou. No nā mea hoʻohana maʻamau i loaʻa ʻole ka hana o ka hōʻoia ʻana i ka hoʻohālikelike ʻana me nā modula ʻaoʻao ʻekolu, ʻōlelo ʻia e hoʻohana i ka lālā nui, ma ke kumu o ka hoʻokuʻu ʻana o ka huahana kālepa Nginx Plus i hoʻokumu ʻia i kēlā me kēia ʻekolu mahina.

Wahi a kahi hōʻike o Malaki mai Netcraft, hoʻohana ʻia ka nginx ma 20.15% o nā pūnaewele hoʻoikaika āpau (i hoʻokahi makahiki i hala aku nei 19.56%, ʻelua mau makahiki i hala aku nei 20.73%), e pili ana i ka lua o ka wahi i kaulana i kēia māhele (ʻo Apache ka māhele like me 25.38% (i hoʻokahi makahiki i hala aku nei 27.64%), Google - 10.09%, Cloudflare - 8.51%. Ma ka manawa like, i ka wā e noʻonoʻo ai i nā pūnaewele āpau, mālama ʻo nginx i kāna alakaʻi a noho i ka 35.34% o ka mākeke (hoʻokahi makahiki i hala 36.91%, ʻelua makahiki i hala - 27.52%), oiai ka mahele o Apache e pili ana i ka 25.98%, OpenResty ( kahua ma ka nginx a me LuaJIT.) - 6.55%, Microsoft IIS - 5.96%.

Ma waena o ka miliona o nā pūnaewele i kipa nui ʻia ma ka honua, ʻo 25.55% ka māhele o nginx (25.54% i hoʻokahi makahiki i hala, ʻelua makahiki i hala 26.22%). I kēia manawa, ma kahi o 419 miliona mau pūnaewele e holo nei iā Nginx (459 miliona i hoʻokahi makahiki i hala). Wahi a W3Techs, hoʻohana ʻia ka nginx ma 33.7% o nā pūnaewele mai loko o ka miliona miliona i kipa ʻia, ma ʻApelila o ka makahiki i hala he 31.9% kēia helu, ʻo ka makahiki ma mua - 41.8% (ua wehewehe ʻia ka emi ʻana e ka hoʻololi ʻana i ka helu hoʻokaʻawale o ka Cloudflare http kikowaena). Ua hāʻule ka hapa o Apache i ka makahiki mai 39.5% a i 34%, a ʻo Microsoft IIS ka māhele mai 8.3% a i 7%. Ua ulu ka mahele o LiteSpeed ​​mai 6.3% a i 8.4%, a me Node.js mai 0.8% a i 1.2%. Ma Rūsia, hoʻohana ʻia ka nginx ma 79.1% o nā pūnaewele i kipa ʻia (i hoʻokahi makahiki i hala - 78.9%).

ʻO nā hoʻomaikaʻi kaulana loa i hoʻohui ʻia i ka wā o ka hoʻomohala ʻana o ka lālā 1.19.x upstream:

  • Hoʻohui i ka hiki ke hōʻoia i nā palapala hōʻoia o ka mea kūʻai aku me ka hoʻohana ʻana i nā lawelawe o waho e pili ana i ka protocol OCSP (Online Certificate Status Protocol). I mea e hiki ai i ka hōkeo, ua noi ʻia ke kuhikuhi ssl_ocsp, e hoʻonohonoho i ka nui o ka cache - ssl_ocsp_cache, e wehewehe hou i ka URL o ka mea lawelawe OCSP i kuhikuhi ʻia i ka palapala - ssl_ocsp_responder.
  • Hoʻokomo ʻia ka module ngx_stream_set_module, kahi e hiki ai iā ʻoe ke hāʻawi i kahi waiwai i ka server variable { listen 12345; hoʻonohonoho $ʻoiaʻiʻo 1; }
  • Hoʻohui ʻia ke kuhikuhi proxy_cookie_flags e kuhikuhi i nā hae no nā Kuki ma nā pilina pili. No ka laʻana, no ka hoʻohui ʻana i ka hae "httponly" i ka Cookie "one", a me nā hae "nosecure" a me "samesite=strict" no nā Kuki ʻē aʻe, hiki iā ʻoe ke hoʻohana i kēia hana: proxy_cookie_flags one httponly; proxy_cookie_flags ~ nosecure samesite=koki;

    Hoʻokomo ʻia kahi kuhikuhi userid_flags like no ka hoʻohui ʻana i nā hae i nā Kuki no ka module ngx_http_userid.

  • Hoʻohui ʻia nā kuhikuhi "ssl_conf_command", "proxy_ssl_conf_command", "grpc_ssl_conf_command" a me "uwsgi_ssl_conf_command", kahi e hiki ai iā ʻoe ke hoʻonohonoho i nā ʻāpana kūʻokoʻa no ka hoʻonohonoho ʻana iā OpenSSL. No ka laʻana, no ka hoʻokumu ʻana i nā ciphers ChaCha a me ka hoʻonohonoho kiʻekiʻe o nā cipher TLSv1.3, hiki iā ʻoe ke kuhikuhi i nā koho ssl_conf_command PrioritizeChaCha; ssl_conf_command Ciphersuites TLS_CHACHA20_POLY1305_SHA256;
  • Hoʻohui ʻia "ssl_reject_handshake" kuhikuhi, e kuhikuhi ana e hōʻole i nā hoʻāʻo āpau e kūkākūkā i nā pili SSL (no ka laʻana, hiki ke hoʻohana ʻia e hōʻole i nā kelepona āpau me nā inoa inoa ʻike ʻole i ka kahua SNI). kikowaena { hoʻolohe 443 ssl; ssl_reject_handshake on; } kikowaena { hoʻolohe 443 ssl; server_name example.com; ssl_certificate example.com.crt; ssl_certificate_key example.com.key; }
  • Ua hoʻohui ʻia ke kuhikuhi proxy_smtp_auth i ka mea koho leka, e ʻae iā ʻoe e hōʻoia i ka mea hoʻohana ma ka hope me ka hoʻohana ʻana i ke kauoha AUTH a me ka mīkini PLAIN SASL.
  • Hoʻohui ʻia ke kuhikuhi "keepalive_time", e kaupalena ana i ke ola holoʻokoʻa o kēlā me kēia pili mālama ola, a laila e pani ʻia ka pilina (ʻaʻole e huikau me keepalive_timeout, e wehewehe ana i ka manawa hana ʻole ma hope o ka pani ʻana o ka pilina mālama-ola).
  • Hoʻohui ʻia $connection_time variable, kahi e loaʻa ai iā ʻoe ka ʻike e pili ana i ka lōʻihi o ka pilina ma kekona me ka pololei millisecond.
  • Ua hoʻohui ʻia kahi ʻāpana "min_free" i ka "proxy_cache_path", "fastcgi_cache_path", "scgi_cache_path" a me "uwsgi_cache_path" kuhikuhi, e hoʻoponopono ana i ka nui o ka cache e pili ana i ka hoʻoholo ʻana i ka liʻiliʻi liʻiliʻi o ka hakahaka manuahi.
  • Ua hoʻololi ʻia nā kuhikuhi "lingering_close", "lingering_time" a me "lingering_timeout" e hana me HTTP/2.
  • ʻO ke code kaʻina hana pili ma HTTP/2 kokoke i ka hoʻokō HTTP/1.x. Ua hoʻopau ʻia ke kākoʻo no nā hoʻonohonoho hoʻonohonoho "http2_recv_timeout", "http2_idle_timeout" a me "http2_max_requests" no nā kuhikuhi maʻamau "keepalive_timeout" a me "keepalive_requests". Ua wehe ʻia nā hoʻonohonoho "http2_max_field_size" a me "http2_max_header_size" a pono e hoʻohana ʻia nā "large_client_header_buffers".
  • Hoʻohui i kahi koho laina kauoha hou "-e", e hiki ai iā ʻoe ke kuhikuhi i kahi faila ʻē aʻe no ke kākau ʻana i ka log hewa, e hoʻohana ʻia ma kahi o ka log i kuhikuhi ʻia i nā hoʻonohonoho. Ma kahi o ka inoa faila, hiki iā ʻoe ke kuhikuhi i ka waiwai kūikawā stderr.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka