NGINX Unit 1.9.0 ΠžΠ±Ρ˜Π°Π²ΡƒΠ²Π°ΡšΠ΅ Π½Π° сСрвСр Π·Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ

сС ΠΎΠ΄Ρ€ΠΆΠ° ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° сСрвСрот Π·Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ NGINX Π΅Π΄ΠΈΠ½ΠΈΡ†Π° 1.9, Π²ΠΎ Ρ‡ΠΈΠΈ Ρ€Π°ΠΌΠΊΠΈ сС Ρ€Π°Π·Π²ΠΈΠ²Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π»Π°Π½ΡΠΈΡ€Π°ΡšΠ΅ Π½Π° Π²Π΅Π±-Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ програмски Ρ˜Π°Π·ΠΈΡ†ΠΈ (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js ΠΈ Java). Π•Π΄ΠΈΠ½ΠΈΡ†Π°Ρ‚Π° NGINX ΠΌΠΎΠΆΠ΅ истоврСмСно Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ повСќС Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ програмски Ρ˜Π°Π·ΠΈΡ†ΠΈ, Ρ‡ΠΈΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π·Π° ΡΡ‚Π°Ρ€Ρ‚ΡƒΠ²Π°ΡšΠ΅ ΠΌΠΎΠΆΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡ΠΊΠΈ Π΄Π° сС ΠΌΠ΅Π½ΡƒΠ²Π°Π°Ρ‚ Π±Π΅Π· ΠΏΠΎΡ‚Ρ€Π΅Π±Π° ΠΎΠ΄ ΡƒΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° конфигурацискитС Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΠΈ Ρ€Π΅ΡΡ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΡšΠ΅. ΠšΠΎΠ΄ΠΎΡ‚ Π΅ напишан Π²ΠΎ C ΠΈ дистрибуирани ΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Ρ†ΠΈΡ€Π°Π½ ΠΏΠΎΠ΄ Apache 2.0. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° сС Π·Π°ΠΏΠΎΠ·Π½Π°Π΅Ρ‚Π΅ со карактСристикитС Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Π°Ρ‚Π° NGINX Π²ΠΎ најава ΠΏΡ€Π²ΠΎΡ‚ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅.

Π’ΠΎ Π½ΠΎΠ²Π°Ρ‚Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π°:

  • ΠœΠΎΠΆΠ½ΠΎΡΡ‚ Π±Π°Ρ€Π°ΡšΠ° Π·Π° Ρ€ΡƒΡ‚ΠΈΡ€Π°ΡšΠ΅ Π²Ρ€Π· основа Π½Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈ Π½Π° URI, заглавија ΠΈ ΠΊΠΎΠ»Π°Ρ‡ΠΈΡšΠ°;

    "заглавија": [
    {
    β€žΠŸΡ€ΠΈΡ„Π°Ρ‚ΠΈ-ΠΊΠΎΠ΄ΠΈΡ€Π°ΡšΠ΅β€œ: β€ž*gzip*β€œ,
    β€žΠšΠΎΡ€ΠΈΡΠ½ΠΈΡ‡ΠΊΠΈ Π°Π³Π΅Π½Ρ‚β€œ: β€žMozilla/5.0*β€œ
    },
    {
    β€žΠšΠΎΡ€ΠΈΡΠ½ΠΈΠΊ-Π°Π³Π΅Π½Ρ‚β€œ: β€žΠ½Π°Π²ΠΈΠ²Π°ΠΌ*β€œ
    }
    ]

  • Π¨Π°Π±Π»ΠΎΠ½ΠΈΡ‚Π΅ Π·Π° ΡƒΡΠΎΠ³Π»Π°ΡΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°Ρ‚Π° сСга ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π°Π°Ρ‚ маски со срСдСн ΠΈΠ·Ρ€Π°Π·. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€,

    β€žΠ΄ΠΎΠΌΠ°ΡœΠΈΠ½β€œ: [β€žeu-*.example.comβ€œ, β€ž!eu-5.example.comβ€œ]

  • ΠŸΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ испратСни со помош Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΡ‚ POST Π·Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€Π°ΡšΠ΅ со содрТината Π½Π° Π½ΠΈΠ·ΠΈΡ‚Π΅ Π²ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° (ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ сС прСнСсуваат Π²ΠΎ JSON Ρ„ΠΎΡ€ΠΌΠ°Ρ‚);

    curl -X POST -d β€˜{β€œmatch”: {β€œuri”: β€œ/production/*”}, \
    "action": {"pass": "applications/wiki-prod"}}' \
    --unix-socket=/path/to/control.unit.sock \
    http://localhost/config/routes/

  • ΠŸΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° ΠΌΠ΅Π½ΡƒΠ²Π°ΡšΠ΅ корисник ΠΈ Π³Ρ€ΡƒΠΏΠ° со ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° моТноститС CAP_SETUID ΠΈ CAP_SETGID Π²ΠΎ Linux Π±Π΅Π· Π΄Π° сС ΠΈΠ·Π²Ρ€ΡˆΠΈ Π³Π»Π°Π²Π½ΠΈΠΎΡ‚ процСс ΠΊΠ°ΠΊΠΎ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€Π°Π½ корисник.

Π˜Π·Π²ΠΎΡ€: opennet.ru

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€