Π‘ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ Π²ΡΠΏΡΡΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ nginx 1.23.1, Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π½ΠΎΠ²ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ. Π ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅ 1.22.x Π²Π½ΠΎΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΡΡΠ·Π½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π³ΠΎΠ΄Ρ Π½Π° Π±Π°Π·Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ 1.23.x Π±ΡΠ΄Π΅Ρ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Π° ΡΡΠ°Π±ΠΈΠ»ΡΠ½Π°Ρ Π²Π΅ΡΠΊΠ° 1.24.
Π‘ΡΠ΅Π΄ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:
- ΠΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡ Π² ΠΏΡΠΎΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ SSL.
- Π Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ «resolver» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ «ipv4=off», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΏΠΎΠΈΡΠΊ IPv4-Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΏΡΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠΌΡΠ½ ΠΈ Π°Π΄ΡΠ΅ΡΠ°.
- Π£ΡΠΎΠ²Π΅Π½Ρ Π»ΠΎΠ³ΠΎΠ² Π΄Π»Ρ ΠΎΡΠΈΠ±ΠΎΠΊ SSL «bad key share», «bad extension», «bad cipher» ΠΈ «bad ecpoint» ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½ Ρ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π΄ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ.
- Π£ΡΡΡΠ°Π½Π΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ°, ΠΈΠ·-Π·Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² nginx Π½Π΅ ΡΠ΄Π°Π»ΡΠ» ΡΡΡΠΎΠΊΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°»Content-Range», Π΅ΡΠ»ΠΈ ΠΎΠ½Π° ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°Π»Π° Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ΅ Π±ΡΠΊΠ΅Π½Π΄Π°.
- Π£ΡΡΡΠ°Π½Π΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ°, ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠ²ΡΠ°Ρ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΏΡΠΎΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΎΡΠ²Π΅Ρ ΠΌΠΎΠ³ Π±ΡΡΡ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π° Linux.
ΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠΎΡΡΠΎΡΠ»ΡΡ Π²ΡΠΏΡΡΠΊ njs 0.7.6, ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° ΡΠ·ΡΠΊΠ° JavaScript Π΄Π»Ρ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ° nginx. ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ njs ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΡ ECMAScript ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°ΡΡΠΈΡΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ nginx ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ. Π‘ΠΊΡΠΈΠΏΡΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΎΡΠ²Π΅ΡΠ°, ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠ°/ΠΎΡΠ²Π΅ΡΠ° ΠΈΠ»ΠΈ Π±ΡΡΡΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π·Π°Π³Π»ΡΡΠ΅ΠΊ Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π² web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ .
Π Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° r.args{}: Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠΌΡ ΠΊΠ»ΡΡΡ ΠΈ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΏΠΎ ΡΠ΅Π³ΠΈΡΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ Symbol.for(), Symbol.keyfor(), atob() ΠΈ btoa().
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru