ΠΡΡΠ½Π°Ρ Π΅ ΠΎΠ»Π΅ΠΊΠΎΡΠ΅Π½ΠΈΡΡ http ΡΡΡΠ²ΡΡ lighttpd 1.4.65, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π° Π΄Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ° Π²ΠΈΡΠΎΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ, ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ, ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΡΠ΅ ΠΈ Π³ΡΠ²ΠΊΠ°Π²ΠΎΡΡ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ°. Lighttpd Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π²ΠΈΡΠΎΠΊΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ Π΅ Π½Π°ΡΠΎΡΠ΅Π½ ΠΊΡΠΌ Π½ΠΈΡΠΊΠ° ΠΊΠΎΠ½ΡΡΠΌΠ°ΡΠΈΡ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡ. ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΡΡΠ΄ΡΡΠΆΠ° 173 ΠΏΡΠΎΠΌΠ΅Π½ΠΈ. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ BSD Π»ΠΈΡΠ΅Π½Π·.
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΈΠ½ΠΎΠ²Π°ΡΠΈΠΈ:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° WebSocket ΠΏΡΠ΅Π· HTTP/2 ΠΈ Π΅ Π²Π½Π΅Π΄ΡΠ΅Π½ RFC 8441, ΠΊΠΎΠΉΡΠΎ ΠΎΠΏΠΈΡΠ²Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° WebSockets Π½Π° Π΅Π΄Π½Π° Π½ΠΈΡΠΊΠ° Π² HTTP/2 Π²ΡΡΠ·ΠΊΠ°.
- ΠΠ½Π΅Π΄ΡΠ΅Π½Π° Π΅ ΡΠ°Π·ΡΠΈΡΠ΅Π½Π° ΡΡ Π΅ΠΌΠ° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΈΡΠ΅, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π΄Π° Π²Π»ΠΈΡΠ΅ Π²ΡΡΡ Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ° Π½Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈΡΠ΅, ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΈ ΠΎΡ ΡΡΡΠ²ΡΡΠ° (RFC 9218), ΠΊΠ°ΠΊΡΠΎ ΠΈ Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π° ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΈΡΠ΅ ΠΏΡΠΈ ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ. HTTP/2 ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ°ΠΌΠΊΠ°ΡΠ° PRIORITY_UPDATE.
- Π Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π½Π° lighttpd.conf Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΡΠ»ΠΎΠ²Π½ΠΈ ΡΡΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ Ρ ΠΎΠ±Π²ΡΡΠ·Π²Π°Π½Π΅ ΠΊΡΠΌ Π½Π°ΡΠ°Π»ΠΎΡΠΎ (=^) ΠΈ ΠΊΡΠ°Ρ (=$) Π½Π° Π½ΠΈΠ·Π°. Π’Π°ΠΊΠΈΠ²Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° Π½ΠΈΠ·ΠΎΠ²Π΅ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π±ΡΡΠ·ΠΈ ΠΎΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΈΡΠ΅ ΠΈΠ·ΡΠ°Π·ΠΈ ΠΈ ΡΠ° Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΈ Π·Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ°ΡΡΠΈΡΠ½ΠΈ PUT ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ (ΠΏΠΎΠΊΡΠΈΠ²Π°ΡΠΈ ΡΠ°ΡΡ ΠΎΡ Π΄Π°Π½Π½ΠΈΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π·Π°Π³Π»Π°Π²ΠΊΠ°ΡΠ° Range) ΠΊΡΠΌ mod_webdav. ΠΠ° Π΄Π° Π³ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΎΠΏΡΠΈΡΡΠ° 'webdav.opts += ("partial-put-copy-modify' => "enable")'.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡ 'accesslog.escaping = 'json' ΠΊΡΠΌ mod_accesslog."
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Ρ libdeflate ΠΊΡΠΌ mod_deflate.
- ΠΡΠ΅Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ»ΠΎΡΠΎ Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ° ΡΡΠ΅Π· HTTP/2 Π΅ ΡΡΠΊΠΎΡΠ΅Π½ΠΎ.
- Π‘ΡΠΎΠΉΠ½ΠΎΡΡΡΠ° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ° server.max-keep-alive-requests Π΅ ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½Π° ΠΎΡ 100 Π½Π° 1000.
- Π ΡΠΏΠΈΡΡΠΊΠ° Ρ MIME ΡΠΈΠΏΠΎΠ²Π΅ βΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/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