Выпуск http-сСрвСра Lighttpd 1.4.65

Бостоялся Ρ€Π΅Π»ΠΈΠ· лСгковСсного http-сСрвСра lighttpd 1.4.65, ΠΏΡ‹Ρ‚Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ ΡΠΎΡ‡Π΅Ρ‚Π°Ρ‚ΡŒ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ, соотвСтствиС стандартам ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ настройки. Lighttpd ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π΅Π½ для примСнСния Π½Π° высоконагруТСнных систСмах ΠΈ Π½Π°Ρ†Π΅Π»Π΅Π½ Π½Π° Π½ΠΈΠ·ΠΊΠΎΠ΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти ΠΈ рСсурсов CPU. Π’ Π½ΠΎΠ²ΠΎΠΉ вСрсии прСдставлСно 173 измСнСния. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° написан Π½Π° языкС Π‘ΠΈ ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ BSD.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π°:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° WebSocket ΠΏΠΎΠ²Π΅Ρ€Ρ… HTTP/2, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ RFC 8441, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ для запуска ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° WebSockets Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ соСдинСния HTTP/2.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ схСма управлСния ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π°ΠΌΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… сСрвСром ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² (RFC 9218), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π°ΠΌΠΈ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ запросов. Для HTTP/2 обСспСчСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠ°Π΄Ρ€Π° PRIORITY_UPDATE.
  • Π’ настройках lighttpd.conf Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° условных сопоставлСний с привязкой ΠΊ Π½Π°Ρ‡Π°Π»Ρƒ (=^) ΠΈ ΠΊΠΎΠ½Ρ†Ρƒ (=$) строки. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ строковыС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстрСС рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ достаточны для ΠΌΠ½ΠΎΠ³ΠΈΡ… простых ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ.
  • Π’ mod_webdav Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° частичных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ PUT (ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… Ρ‡Π°ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Range). Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ ‘webdav.opts += («partial-put-copy-modify’ => «enable»)’.
  • Π’ mod_accesslog Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция ‘accesslog.escaping = ‘json'».
  • Π’ mod_deflate Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сборки с libdeflate.
  • УскорСна ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Ρ‚Π΅Π»Π° запроса Ρ‡Π΅Ρ€Π΅Π· HTTP/2.
  • Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° server.max-keep-alive-requests ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ cΠΎ 100 Π΄ΠΎ 1000.
  • Π’ спискС MIME-Ρ‚ΠΈΠΏΠΎΠ² «application/javascript» Π·Π°ΠΌΠ΅Π½Ρ‘Π½ Π½Π° «text/javascript» (RFC 9239).

На Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠ΅ Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ строгих настроСк ΡˆΠΈΡ„Ρ€ΠΎΠ² для TLS ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… ΡˆΠΈΡ„Ρ€ΠΎΠ². Настройка CipherString Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° со значСния «HIGH» Π½Π° «EECDH+AESGCM:AES256+EECDH:CHACHA20:SHA256:!SHA384». Π’Π°ΠΊΠΆΠ΅ Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΊ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΡŽ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ ΠΎΠΏΡ†ΠΈΠΈ TLS: ssl.honor-cipher-order, ssl.dh-file, ssl.ec-curve, ssl.disable-client-renegotiation, ssl.use-sslv2, ssl.use-sslv3. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° чистка ΠΌΠΈΠ½ΠΈ-ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎΠΉ Lua-Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ mod_magnet. Π’ частности, Π½Π°ΠΌΠ΅Ρ‡Π΅Π½Ρ‹ ΠΊ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΡŽ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ mod_evasive, mod_secdownload, mod_uploadprogress ΠΈ mod_usertrack.

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