nginx 1.20.0 ஐ வெளியிடவும்

ஒரு வருட வளர்ச்சிக்குப் பிறகு, உயர் செயல்திறன் கொண்ட HTTP சர்வர் மற்றும் மல்டி-ப்ரோட்டோகால் ப்ராக்ஸி சர்வர் nginx 1.20.0 ஆகியவற்றின் புதிய நிலையான கிளை அறிமுகப்படுத்தப்பட்டது, இது முக்கிய கிளை 1.19.x இல் திரட்டப்பட்ட மாற்றங்களை உள்ளடக்கியது. எதிர்காலத்தில், நிலையான கிளை 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%), அப்பாச்சியின் பங்கு 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% (கிளவுட்ஃப்ளேர் http இன் தனி கணக்கியலுக்கு மாறுவதன் மூலம் சரிவு விளக்கப்பட்டுள்ளது. சேவையகம்). அப்பாச்சியின் பங்கு 39.5% இலிருந்து 34% ஆகவும், மைக்ரோசாப்ட் IIS இன் பங்கு 8.3% இலிருந்து 7% ஆகவும் ஆண்டு முழுவதும் சரிந்தது. LiteSpeed ​​இன் பங்கு 6.3%லிருந்து 8.4% ஆகவும், Node.js 0.8%லிருந்து 1.2% ஆகவும் வளர்ந்தது. ரஷ்யாவில், அதிகம் பார்வையிடப்பட்ட தளங்களில் 79.1% (ஒரு வருடம் முன்பு - 78.9%) nginx பயன்படுத்தப்படுகிறது.

1.19.x அப்ஸ்ட்ரீம் கிளையின் வளர்ச்சியின் போது சேர்க்கப்பட்ட மிகவும் குறிப்பிடத்தக்க மேம்பாடுகள்:

  • OCSP (ஆன்லைன் சான்றிதழ் நிலை நெறிமுறை) நெறிமுறையின் அடிப்படையில் வெளிப்புற சேவைகளைப் பயன்படுத்தி கிளையன்ட் சான்றிதழ்களைச் சரிபார்க்கும் திறன் சேர்க்கப்பட்டது. சரிபார்ப்பை இயக்க, ssl_ocsp கட்டளை முன்மொழியப்பட்டது, கேச் அளவை உள்ளமைக்க - ssl_ocsp_cache, சான்றிதழில் குறிப்பிடப்பட்டுள்ள OCSP கையாளுபவரின் URL ஐ மறுவரையறை செய்ய - ssl_ocsp_responder.
  • ngx_stream_set_module தொகுதி சேர்க்கப்பட்டுள்ளது, இது மாறி சேவையகத்திற்கு மதிப்பை ஒதுக்க உங்களை அனுமதிக்கிறது {listen 12345; $true 1ஐ அமைக்கவும்; }
  • ப்ராக்ஸி இணைப்புகளில் உள்ள குக்கீகளுக்கான கொடிகளைக் குறிப்பிட, ப்ராக்ஸி_குக்கி_ஃப்ளாக்ஸ் உத்தரவு சேர்க்கப்பட்டது. எடுத்துக்காட்டாக, குக்கீ "ஒன்" இல் "http மட்டும்" கொடியையும், மற்ற எல்லா குக்கீகளுக்கும் "நோஸ்கியர்" மற்றும் "சேம்சைட்=ஸ்டிரிக்ட்" கொடிகளையும் சேர்க்க, நீங்கள் பின்வரும் கட்டுமானத்தைப் பயன்படுத்தலாம்: 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_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

கருத்தைச் சேர்