ΠΠ±ΡΠ°Π²Π΅Π½ Π΅ ΡΠ΅ΡΠ²Π΅ΡΠΎΡ Π·Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ NGINX Unit 1.23, Π²ΠΎ ΡΠΈΠΈ ΡΠ°ΠΌΠΊΠΈ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π° Π΄Π° ΡΠ΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ Π»Π°Π½ΡΠΈΡΠ°ΡΠ΅ Π½Π° Π²Π΅Π±-Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈ ΡΠ°Π·ΠΈΡΠΈ (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js ΠΈ Java). ΠΠ΄ΠΈΠ½ΠΈΡΠ°ΡΠ° NGINX ΠΌΠΎΠΆΠ΅ ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈ ΡΠ°Π·ΠΈΡΠΈ, ΡΠΈΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π·Π° ΡΡΠ°ΡΡΡΠ²Π°ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠΊΠΈ Π΄Π° ΡΠ΅ ΠΌΠ΅Π½ΡΠ²Π°Π°Ρ Π±Π΅Π· ΠΏΠΎΡΡΠ΅Π±Π° ΠΎΠ΄ ΡΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠΊΠΈΡΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΠΈ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅. ΠΠΎΠ΄ΠΎΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π²ΠΎ C ΠΈ ΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½ΡΠ°ΡΠ° Apache 2.0. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ΡΠ΅ ΡΠΎ ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈΡΠ΅ Π½Π° NGINX Unit Π²ΠΎ Π½Π°ΡΠ°Π²Π°ΡΠ° Π·Π° ΠΏΡΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅.
ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ° Π΄ΠΎΠ΄Π°Π²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΡΠ°ΡΠ° TLS SNI, Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½Π° Π΄Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ° ΡΠ°Π±ΠΎΡΠ° Π½Π° Π΅Π΄Π½Π° IP Π°Π΄ΡΠ΅ΡΠ° Π½Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡ HTTPS-Π»ΠΎΠΊΠ°ΡΠΈΠΈ ΡΠΎ ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΈΠΌΠ΅ΡΠΎ Π½Π° Π΄ΠΎΠΌΠ°ΡΠΈΠ½ΠΎΡ Π²ΠΎ ΡΠ°ΡΠ΅Π½ ΡΠ΅ΠΊΡΡ Π²ΠΎ ΠΏΠΎΡΠ°ΠΊΠ°ΡΠ° ClientHello ΠΈΡΠΏΡΠ°ΡΠ΅Π½Π° ΠΏΡΠ΅Π΄ Π΄Π° ΡΠ΅ Π²ΠΎΡΠΏΠΎΡΡΠ°Π²ΠΈ ΡΠΈΡΡΠΈΡΠ°Π½ ΠΊΠ°Π½Π°Π» Π·Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡΠ°. ΠΠΎ Unit, ΡΠ΅Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΠ²ΡΠ·Π΅ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ Π³ΡΡΠΏΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ Π½Π° Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΊΠ»ΡΡΠΎΠΊ Π·Π° ΡΠ»ΡΡΠ°ΡΠ΅, ΠΊΠΎΡ Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΈ ΡΠ΅ Π±ΠΈΠ΄Π΅ ΠΈΠ·Π±ΡΠ°Π½ Π·Π° ΡΠ΅ΠΊΠΎΡ ΠΊΠ»ΠΈΠ΅Π½Ρ Π²ΠΎ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡ ΠΎΠ΄ Π±Π°ΡΠ°Π½ΠΎΡΠΎ ΠΈΠΌΠ΅ Π½Π° Π΄ΠΎΠΌΠ΅Π½. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ: { "listeners": { "*:443": { "tls": { "certificate": [ "mycertA", "mycertB", ... ] }, "pass": "routes" } } }
ΠΠ·Π²ΠΎΡ: opennet.ru