nginx 1.20.0 නිකුතුව

වසරක සංවර්ධනයෙන් පසු, ප්‍රධාන ශාඛාව 1.20.0.x හි එකතු වී ඇති වෙනස්කම් ඇතුළත් වන ඉහළ ක්‍රියාකාරී HTTP සේවාදායකයේ සහ බහු-ප්‍රොටෝකෝල ප්‍රොක්සි සේවාදායකය nginx 1.19 හි නව ස්ථාවර ශාඛාවක් හඳුන්වා දී ඇත. අනාගතයේ දී, ස්ථායී ශාඛාව 1.20 හි සියලු වෙනස්කම් බරපතල දෝෂ සහ දුර්වලතා ඉවත් කිරීම සම්බන්ධ වේ. nginx 1.21 හි ප්‍රධාන ශාඛාව ඉක්මනින් පිහිටුවනු ඇත, එහි නව විශේෂාංග සංවර්ධනය දිගටම කරගෙන යනු ඇත. තෙවන පාර්ශවීය මොඩියුල සමඟ අනුකූලතාව සහතික කිරීමේ කාර්යයක් නොමැති සාමාන්‍ය පරිශීලකයින් සඳහා, ප්‍රධාන ශාඛාව භාවිතා කිරීම රෙකමදාරු කරනු ලැබේ, එහි පදනම මත සෑම මාස තුනකට වරක් වාණිජ නිෂ්පාදන Nginx Plus නිකුත් කරනු ලැබේ.

Netcraft හි මාර්තු වාර්තාවට අනුව, nginx සියලුම ක්‍රියාකාරී වෙබ් අඩවි වලින් 20.15% (වසරකට පෙර 19.56%, වසර දෙකකට පෙර 20.73%) භාවිතා කරයි, එය මෙම කාණ්ඩයේ ජනප්‍රියතාවයේ දෙවන ස්ථානයට අනුරූප වේ (Apache හි කොටස 25.38% ට අනුරූප වේ. (වසරකට පෙර 27.64%), Google - 10.09%, Cloudflare - 8.51%. ඒ අතරම, සියලුම වෙබ් අඩවි සලකා බැලීමේදී, nginx සිය නායකත්වය රඳවා ගන්නා අතර වෙළඳපොළෙන් 35.34% හිමිකර ගනී (වසරකට පෙර 36.91%, වසර දෙකකට පෙර - 27.52%), Apache හි කොටස 25.98% ට අනුරූප වන අතර, OpenResty (nginx සහ LuaJIT මත පදනම් වූ වේදිකාව.) - 6.55%, Microsoft IIS - 5.96%.

ලෝකයේ වැඩිපුරම නරඹන මිලියන ගණනක් වන අඩවි අතර, nginx හි කොටස 25.55% කි (වසරකට පෙර 25.54%, වසර දෙකකට පෙර 26.22%). දැනට, වෙබ් අඩවි මිලියන 419 ක් පමණ Nginx (වසරකට පෙර මිලියන 459) ක්‍රියාත්මක වේ. W3Techs වලට අනුව, වැඩිපුරම නරඹන ලද මිලියන ගණනින් 33.7% අඩවි වල nginx භාවිතා වේ, පසුගිය වසරේ අප්‍රේල් මාසයේදී මෙම අගය 31.9% ක් විය, පෙර වසරේ - 41.8% (පහත වැටීම පැහැදිලි වන්නේ Cloudflare http හි වෙනම ගිණුම්කරණයට මාරුවීමෙනි. සේවාදායකය). Apache හි කොටස වසර තුළ 39.5% සිට 34% දක්වා ද, Microsoft IIS හි කොටස 8.3% සිට 7% දක්වා ද පහත වැටුණි. LiteSpeed ​​හි කොටස 6.3% සිට 8.4% දක්වා සහ Node.js 0.8% සිට 1.2% දක්වා වර්ධනය විය. රුසියාවේ, nginx වැඩිපුරම නරඹන ලද අඩවි වලින් 79.1% ක් භාවිතා කරයි (වසරකට පෙර - 78.9%).

1.19.x උඩු ප්‍රවාහ ශාඛාව සංවර්ධනය කිරීමේදී එකතු කරන ලද වඩාත්ම කැපී පෙනෙන වැඩිදියුණු කිරීම්:

  • OCSP (Online Certificate Status Protocol) ප්‍රොටෝකෝලය මත පදනම්ව බාහිර සේවා භාවිතයෙන් සේවාදායක සහතික සත්‍යාපනය කිරීමේ හැකියාව එක් කරන ලදී. චෙක්පත සක්‍රීය කිරීමට, හැඹිලි ප්‍රමාණය වින්‍යාස කිරීමට ssl_ocsp විධානය යෝජනා කෙරේ - ssl_ocsp_cache, සහතිකයේ දක්වා ඇති OCSP හසුරුවන්නාගේ URL නැවත අර්ථ දැක්වීමට - ssl_ocsp_responder.
  • ngx_stream_set_module මොඩියුලය ඇතුළත් කර ඇත, එය ඔබට විචල්‍ය සේවාදායකයට අගයක් පැවරීමට ඉඩ සලසයි { සවන් දෙන්න 12345; $true 1 සකසන්න; }
  • ප්‍රොක්සි සම්බන්ධතා වල කුකීස් සඳහා කොඩි නියම කිරීමට proxy_cookie_flags විධානය එක් කරන ලදී. උදාහරණයක් ලෙස, කුකී "එක" වෙත "http පමණයි" ධජය සහ අනෙකුත් සියලුම කුකීස් සඳහා "nosecure" සහ "samesite=strict" කොඩි එක් කිරීමට, ඔබට පහත ඉදිකිරීම් භාවිතා කළ හැක: proxy_cookie_flags one http පමණි; proxy_cookie_flags ~ nosecure samesite=strict;

    කුකීස් වෙත කොඩි එකතු කිරීම සඳහා සමාන userid_flags විධානයක් ngx_http_userid මොඩියුලය සඳහා ද ක්‍රියාත්මක වේ.

  • "ssl_conf_command", "proxy_ssl_conf_command", "grpc_ssl_conf_command" සහ "uwsgi_ssl_conf_command" විධාන එකතු කරන ලද අතර, ඔබට OpenSSL වින්‍යාස කිරීම සඳහා අත්තනෝමතික පරාමිතීන් සැකසිය හැක. උදාහරණයක් ලෙස, ChaCha කේතාංක සහ TLSv1.3 කේතාංකවල උසස් වින්‍යාසය සඳහා ප්‍රමුඛත්වය දීමට, ඔබට ssl_conf_command විකල්ප PrioritizeChaCha නියම කළ හැක; ssl_conf_command Ciphersuites TLS_CHACHA20_POLY1305_SHA256;
  • "ssl_reject_handshake" විධානය එක් කරන ලදී, එය SSL සම්බන්ධතා සාකච්ඡා කිරීමේ සියලු උත්සාහයන් ප්‍රතික්ෂේප කිරීමට උපදෙස් දෙයි (උදාහරණයක් ලෙස, SNI ක්ෂේත්‍රයේ නොදන්නා ධාරක නාම සහිත සියලුම ඇමතුම් ප්‍රතික්ෂේප කිරීමට භාවිතා කළ හැක). සේවාදායකය {සවන් දෙන්න 443 ssl; ssl_reject_handshake on; } සේවාදායකය {සවන් දෙන්න 443 ssl; server_name example.com; ssl_certificate example.com.crt; ssl_certificate_key example.com.key; }
  • proxy_smtp_auth විධානය තැපැල් ප්‍රොක්සිය වෙත එක් කර ඇත, ඔබට AUTH විධානය සහ PLAIN SASL යාන්ත්‍රණය භාවිතයෙන් පසු අන්තයේ පරිශීලකයා සත්‍යාපනය කිරීමට ඉඩ සලසයි.
  • "keepalive_time" විධානය එක් කරන ලදී, එය එක් එක් Keep-alive සම්බන්ධතාවයේ සම්පූර්ණ ආයු කාලය සීමා කරයි, ඉන් පසුව සම්බන්ධතාවය වසා දමනු ඇත (keepalive_timeout සමඟ පටලවා නොගත යුතුය, එය Keep-alive සම්බන්ධතාවය වසා ඇති අක්‍රිය කාලය නිර්වචනය කරයි).
  • $connection_time විචල්‍යය එක් කරන ලදී, එමඟින් ඔබට සම්බන්ධතා කාලය පිළිබඳ තොරතුරු මිලි තත්පර නිරවද්‍යතාවයෙන් තත්පර කිහිපයකින් ලබා ගත හැක.
  • "proxy_cache_path", "fastcgi_cache_path", "scgi_cache_path" සහ "uwsgi_cache_path" විධානයන් වෙත "min_free" පරාමිතියක් එක් කර ඇත, එය නිදහස් තැටි ඉඩෙහි අවම ප්‍රමාණය තීරණය කිරීම මත පදනම්ව හැඹිලි ප්‍රමාණය නියාමනය කරයි.
  • "lingering_close", "lingering_time" සහ "lingering_timeout" විධාන HTTP/2 සමඟ වැඩ කිරීමට අනුවර්තනය කර ඇත.
  • HTTP/2 හි සම්බන්ධතා සැකසුම් කේතය HTTP/1.x ක්‍රියාත්මක කිරීමට ආසන්නය. "http2_recv_timeout", "http2_idle_timeout" සහ "http2_max_requests" යන තනි සැකසුම් සඳහා වන සහය "keepalive_timeout" සහ "keepalive_requests" යන සාමාන්‍ය විධානයන්ට පක්ෂව අත්හිටුවා ඇත. "http2_max_field_size" සහ "http2_max_header_size" සැකසීම් ඉවත් කර ඇති අතර ඒ වෙනුවට "large_client_header_buffers" භාවිතා කළ යුතුය.
  • “-e” නව විධාන රේඛා විකල්පයක් එක් කරන ලදී, එය දෝෂ ලොගය ලිවීම සඳහා විකල්ප ගොනුවක් නියම කිරීමට ඔබට ඉඩ සලසයි, එය සැකසුම් වල දක්වා ඇති ලොගය වෙනුවට භාවිතා කරනු ඇත. ගොනු නාමය වෙනුවට, ඔබට විශේෂ අගය stderr සඳහන් කළ හැක.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න