Pagpagawas sa nginx 1.17.1 ug njs 0.3.3

Magamit upstream nga pagpagawas nginx 1.17.1, diin ang pag-uswag sa bag-ong mga kapabilidad nagpadayon (sa parehas nga gisuportahan nga kuwadra sanga 1.16 Ang mga pagbag-o lamang nga may kalabutan sa pagwagtang sa mga seryoso nga mga sayup ug mga kahuyang ang gihimo.

nag-unang mga pagbag-o:

  • Gidugang ang direktiba limit_req_dry_run, nga nagpalihok sa trial run mode, diin walay mga pagdili nga gipadapat sa intensity sa pagproseso sa hangyo (nga walay limitasyon sa rate), apan nagpadayon sa pagkonsiderar sa gidaghanon sa mga hangyo nga milapas sa mga limitasyon sa shared memory;
  • Kung gigamit ang "upstream" nga direktiba sa "upstream" nga mga setting blockhashΒ»aron maorganisar ang pagbalanse sa load gamit ang client-server binding, kon imong ipiho ang walay sulod nga yawe nga bili, ang uniporme nga balancing mode (round-robin) kay gi-activate na;
  • Giayo ang usa ka pag-crash sa workflow kung gigamit ang cache sa kombinasyon sa "image_filter" nga direktiba ug pag-redirect sa 415 error code handler gamit ang "error_page" nga direktiba;
  • Giayo ang usa ka pag-crash sa workflow nga nahitabo sa paggamit sa built-in nga Perl interpreter.

Dugang pa, kini mahimong matikdan pagpagawas njs 0.3.3, usa ka JavaScript interpreter alang sa nginx web server. Ang njs interpreter nagpatuman sa ECMAScript nga mga sumbanan ug nagtugot kanimo sa pagpalapad sa abilidad sa nginx sa pagproseso sa mga hangyo gamit ang mga script sa configuration. Ang mga script mahimong gamiton sa usa ka configuration file aron ipasabot ang advanced logic alang sa pagproseso sa mga hangyo, paghimo og configuration, dinamikong pagmugna og tubag, pag-usab sa usa ka hangyo/tubag, o dali nga paghimo og mga stub aron masulbad ang mga problema sa mga web application.

Ang bag-ong pagpagawas sa njs nag-ayo sa mga isyu nga nahibal-an sa panahon sa pag-fuzzing nga pagsulay. Gipatuman ang usa ka global variable nga "proseso" nga adunay mga parameter ug mga variable sa palibot sa karon nga proseso (process.pid, process.env.HOME, ug uban pa). Ang tanan nga built-in nga mga kabtangan ug mga pamaagi mahimong sulatan. Gidugang nga pagpatuman sa Array.prototype.fill(). Ang suporta alang sa syntax nga gisugyot sa ECMAScript 5 gipatuman magkuha ΠΈ setter sa pagbugkos sa usa ka butang nga kabtangan sa usa ka function, pananglitan:

var o = {a:2};
Object.defineProperty(o, 'b', {get:function(){return 2*this.a}});

Source: opennet.ru

Idugang sa usa ka comment