Издания на nginx 1.17.1 и njs 0.3.3

Π”ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ основно ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ nginx 1.17.1, Π² контСкста Π½Π° ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π½ΠΎΠ²ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ (Π² ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½Π°Ρ‚Π° стабилна вСрсия 1.16 внасят сС само ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с отстраняванС Π½Π° сСриозни Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ уязвимости.

Основни ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ:

  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° limit_req_dry_run, ΠΊΠΎΠΉΡ‚ΠΎ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π° Ρ€Π΅ΠΆΠΈΠΌ Π½Π° ΠΏΡ€ΠΎΠ±Π΅Π½ старт, Π² ΠΊΠΎΠΉΡ‚ΠΎ Π½Π΅ сС ΠΏΡ€ΠΈΠ»Π°Π³Π°Ρ‚ ограничСния Π·Π° ΠΈΠ½Ρ‚Π΅Π½Π·ΠΈΡ‚Π΅Ρ‚ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° заявкитС (Π±Π΅Π· rate limit), Π½ΠΎ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π° Π΄Π° сС слСди броят Π½Π° заявкитС, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·Π»ΠΈΠ·Π°Ρ‚ извън Π·Π°Π΄Π°Π΄Π΅Π½ΠΈΡ‚Π΅ Π»ΠΈΠΌΠΈΡ‚ΠΈ Π² сподСлСна ΠΏΠ°ΠΌΠ΅Ρ‚;
  • ΠŸΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² Π±Π»ΠΎΠΊΠ° със настройки Β«upstreamΒ» Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°Ρ‚Π° Β«hashΒ» Π·Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° балансировка Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ с ΠΏΡ€ΠΈΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° към ΡΡŠΡ€Π²ΡŠΡ€Π°, сСга, ΠΊΠΎΠ³Π°Ρ‚ΠΎ сС Π·Π°Π΄Π°Π΄Π΅ ΠΏΡ€Π°Π·Π½Π° стойност Π½Π° ΠΊΠ»ΡŽΡ‡Π°, сС Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π° Ρ€Π΅ΠΆΠΈΠΌ Π½Π° Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½Π° балансировка (round-robin);
  • ΠžΡ‚ΡΡ‚Ρ€Π°Π½Π΅Π½ Π΅ срив Π½Π° работния процСс ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° кСша Π² комбинация с Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°Ρ‚Π° Β«image_filterΒ» ΠΈ прСнасочванС Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π½Π° ΠΊΠΎΠ΄ Π·Π° Π³Ρ€Π΅ΡˆΠΊΠ° 415 с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°Ρ‚Π° Β«error_pageΒ»;
  • ΠžΡ‚ΡΡ‚Ρ€Π°Π½Π΅Π½ Π΅ срив Π½Π° работния процСс, ΠΊΠΎΠΉΡ‚ΠΎ сС проявява ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° вградСния ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Perl.

Π”ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС отбСлязано ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ njs 0.3.3, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π½Π° JavaScript Π·Π° ΡƒΠ΅Π± ΡΡŠΡ€Π²ΡŠΡ€Π° nginx. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΡŠΡ‚ njs Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π° стандартитС ECMAScript ΠΈ позволява Ρ€Π°Π·ΡˆΠΈΡ€ΡΠ²Π°Π½Π΅ Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° nginx Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° заявки с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° скриптовС Π² конфигурацията. Π‘ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Π΅Ρ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π² конфигурационния Ρ„Π°ΠΉΠ» Π·Π° опрСдСлянС Π½Π° Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ° Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° заявки, Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Π½Π΅ Π½Π° конфигурация, Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π΅ Π½Π° заявка/ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ ΠΈΠ»ΠΈ Π±ΡŠΡ€Π·ΠΎ създаванС Π½Π° Π·Π°Π³Π»ΡƒΡˆΠΊΠΈ Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π² ΡƒΠ΅Π± прилоТСнията.

Π’ Π½ΠΎΠ²ΠΎΡ‚ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° njs са отстранСни ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅, ΠΎΡ‚ΠΊΡ€ΠΈΡ‚ΠΈ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° тСстовСтС с fuzzing. Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Π΅ Π³Π»ΠΎΠ±Π°Π»Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Β«processΒ» с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΠΎΠΊΠΎΠ»Π½Π°Ρ‚Π° срСда Π½Π° тСкущия процСс (process.pid, process.env.HOME ΠΈ Ρ‚.Π½.). ΠžΡΠΈΠ³ΡƒΡ€Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° запис Π² всички Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ. Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ рСализация Π½Π° Array.prototype.fill(). Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° синтаксиса, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π² ECMAScript 5 getter ΠΈ setter Π·Π° ΠΏΡ€ΠΈΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° свойство Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ към функция, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

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

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster