nginx 1.16.0 release

Pagkatapos ng isang taon ng pag-unlad kinakatawan ng bagong matatag na sangay ng high-performance na HTTP server at multiprotocol proxy server nginx 1.16.0, na sumisipsip sa mga pagbabagong naipon sa loob ng pangunahing sangay 1.15.x. Sa hinaharap, ang lahat ng pagbabago sa stable na branch 1.16 ay mauugnay sa pag-aalis ng mga seryosong error at kahinaan. Malapit nang mabuo ang pangunahing sangay ng nginx 1.17, kung saan magpapatuloy ang pagbuo ng mga bagong feature. Para sa mga ordinaryong user na walang gawaing tiyakin ang pagiging tugma sa mga module ng third-party, inirerekomenda gamitin ang pangunahing sangay, batay sa kung saan ang mga paglabas ng komersyal na produkto ng Nginx Plus ay nabuo tuwing tatlong buwan.

Ang pinakakilalang mga pagpapahusay na idinagdag sa panahon ng pagbuo ng 1.15.x upstream branch:

  • Nagdagdag ng kakayahang gumamit ng mga variable sa 'direktibassl_certificate'ako'ssl_certificate_key', na maaaring magamit upang dynamic na mag-load ng mga certificate;
  • Nagdagdag ng kakayahang mag-load ng mga SSL certificate at mga lihim na key mula sa mga variable nang hindi gumagamit ng mga intermediate na file;
  • Sa bloke"salungat sa agosΒ» bagong direktiba na ipinatupad Β«walang pili", sa tulong kung saan maaari mong ayusin ang pagbabalanse ng pag-load gamit ang isang random na pagpili ng isang server para sa pagpapasa ng koneksyon;
  • Sa modyul ngx_stream_ssl_preread ipinatupad ang variable $ssl_preread_protocol,
    na tumutukoy sa pinakamataas na bersyon ng SSL/TLS protocol na sinusuportahan ng kliyente. Pinapayagan ng variable lumikha ng mga pagsasaayos para sa pag-access gamit ang iba't ibang protocol na may at walang SSL sa pamamagitan ng isang network port kapag nag-proxy ng trapiko gamit ang http at stream modules. Halimbawa, upang ayusin ang pag-access sa pamamagitan ng SSH at HTTPS sa pamamagitan ng isang port, maaaring ipasa ang port 443 bilang default sa SSH, ngunit kung tinukoy ang bersyon ng SSL, ipasa sa HTTPS.

  • Isang bagong variable ang naidagdag sa upstream na module "$upstream_bytes_sent", na nagpapakita ng bilang ng mga byte na inilipat sa server ng pangkat;
  • Sa module daloy sa loob ng isang session, ang kakayahang magproseso ng ilang mga papasok na datagram ng UDP mula sa kliyente ay naidagdag;
  • Ang direktiba"proxy_requests", ay tumutukoy sa bilang ng mga datagram na natanggap mula sa kliyente, kapag naabot kung saan ang pagbubuklod sa pagitan ng kliyente at ng kasalukuyang session ng UDP ay aalisin. Pagkatapos matanggap ang tinukoy na bilang ng mga datagram, ang susunod na datagram na natanggap mula sa parehong kliyente ay magsisimula ng bagong session;
  • Ang direktiba sa pakikinig ay mayroon na ngayong kakayahang tumukoy ng mga saklaw ng port;
  • Nagdagdag ng direktiba "ssl_early_dataΒ» upang paganahin ang mode 0-RTT kapag gumagamit ng TLSv1.3, na nagbibigay-daan sa iyong i-save ang dating napag-usapan na mga parameter ng koneksyon ng TLS at bawasan ang bilang ng mga RTT sa 2 kapag ipinagpatuloy ang isang dating naitatag na koneksyon;
  • Ang mga bagong direktiba ay idinagdag upang i-configure ang keepalive para sa mga papalabas na koneksyon (pagpapagana o hindi pagpapagana ng SO_KEEPALIVE na opsyon para sa mga socket):

    • Β«proxy_socket_keepalive" - kino-configure ang "TCP keepalive" na gawi para sa mga papalabas na koneksyon sa proxied server;
    • Β«fastcgi_socket_keepalive" - kino-configure ang "TCP keepalive" na gawi para sa mga papalabas na koneksyon sa FastCGI server;
    • Β«grpc_socket_keepalive" - kino-configure ang "TCP keepalive" na gawi para sa mga papalabas na koneksyon sa gRPC server;
    • Β«memcached_socket_keepalive" - kino-configure ang "TCP keepalive" na gawi para sa mga papalabas na koneksyon sa memcached server;
    • Β«scgi_socket_keepalive" - kino-configure ang "TCP keepalive" na gawi para sa mga papalabas na koneksyon sa SCGI server;
    • Β«uwsgi_socket_keepalive" - kino-configure ang "TCP keepalive" na gawi para sa mga papalabas na koneksyon sa uwsgi server.
  • Sa direktiba"limit_req" nagdagdag ng bagong parameter na "pagkaantala", na nagtatakda ng limitasyon kung saan maaantala ang mga paulit-ulit na kahilingan;
  • Ang mga bagong direktiba na "keepalive_timeout" at "keepalive_requests" ay idinagdag sa "upstream" block upang magtakda ng mga limitasyon para sa Keepalive;
  • Ang "ssl" na direktiba ay hindi na ginagamit, pinalitan ng "ssl" na parameter sa "listen" na direktiba. Nakikita na ngayon ang mga nawawalang SSL certificate sa yugto ng pagsubok sa pagsasaayos kapag ginagamit ang direktiba na "makinig" na may parameter na "ssl" sa mga setting;
  • Kapag ginagamit ang reset_timedout_connection directive, ang mga koneksyon ay sarado na ngayon gamit ang isang 444 code kapag nag-expire ang timeout;
  • Ang mga error sa SSL na "http request", "https proxy request", "unsupported protocol" at "version too low" ay ipinapakita na ngayon sa log na may antas na "info" sa halip na "crit";
  • Nagdagdag ng suporta para sa paraan ng poll sa mga Windows system kapag gumagamit ng Windows Vista at mas bago;
  • Posibilidad ng paggamit TLSv1.3 kapag nagtatayo gamit ang BoringSSL library, hindi lang OpenSSL.

Pinagmulan: opennet.ru

Magdagdag ng komento