ΠŸΡƒΡΠΊΠ°Π½Π΅ Π½Π° nginx 1.17.0 ΠΈ njs 0.3.2

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

ΠžΡΠ½ΠΎΠ²Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ:

  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²ΠΈΡ‚Π΅ "limit_rate" ΠΈ "limit_rate_after", ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π² "proxy_upload_rate" ΠΈ
    "proxy_download_rate" Π½Π° потоковия ΠΌΠΎΠ΄ΡƒΠ»;

  • ПовишСни изисквания Π·Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½Π° вСрсия Π½Π° OpenSSL - 0.9.8;
  • По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŠΡ‚ ngx_http_postpone_filter_module Π΅ ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½;
  • ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ с Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°Ρ‚Π° β€žincludeβ€œ, която Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² Π±Π»ΠΎΠΊΠΎΠ²Π΅Ρ‚Π΅ β€žifβ€œ ΠΈ β€žlimit_exceptβ€œ, са Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈ;
  • ΠŸΠΎΠΏΡ€Π°Π²Π΅Π½Π° Π΅ Π³Ρ€Π΅ΡˆΠΊΠ° ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π±Π°ΠΉΡ‚ΠΎΠ²ΠΈ стойности "ΠžΠ±Ρ…Π²Π°Ρ‚".

Π‘Ρ€Π΅Π΄ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΈΡ‚Π΅ подобрСния, ΠΎΡ‡Π°ΠΊΠ²Π°Π½ΠΈ Π² ΠΊΠ»ΠΎΠ½ 1.17, сС спомСнава ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈ QUIC ΠΈ HTTP/3.

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

Новата вСрсия Π½Π° njs добавя ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° шаблони Π½Π° Π½ΠΈΠ·ΠΎΠ²Π΅, Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ΠΈ Π² спСцификацията ECMAScript 6 Π³.. Π¨Π°Π±Π»ΠΎΠ½ΠΈΡ‚Π΅ Π·Π° Π½ΠΈΠ·ΠΎΠ²Π΅ са Π½ΠΈΠ·ΠΎΠ²ΠΈ Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ позволяват Π²Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΈΠ·Ρ€Π°Π·ΠΈ. Π˜Π·Ρ€Π°Π·ΠΈΡ‚Π΅ сС Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Ρ‚ Π² Π±Π»ΠΎΠΊ ${...}, поставСн Π²ΡŠΡ‚Ρ€Π΅ Π² Ρ€Π΅Π΄, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΊΠ°ΠΊΡ‚ΠΎ ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ (${name}), Ρ‚Π°ΠΊΠ° ΠΈ ΠΈΠ·Ρ€Π°Π·ΠΈ (${5 + a + b})). Π’ допълнСниС към ΠΎΠ±Π΅ΠΊΡ‚Π° RegExp Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Π½Π°ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½ΠΈ Π³Ρ€ΡƒΠΏΠΈ, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‚Π΅ части ΠΎΡ‚ Π½ΠΈΠ·, ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π°Ρ‰ Π½Π° рСгулярСн ΠΈΠ·Ρ€Π°Π·, с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΈ ΠΈΠΌΠ΅Π½Π° вмСсто сСрийни Π½ΠΎΠΌΠ΅Ρ€Π° Π½Π° ΡΡŠΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡΡ‚Π°. Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° GNU Readline.

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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€