NGINX ์œ ๋‹› 1.17.0 ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ ๋ฆด๋ฆฌ์Šค

์ผ์–ด๋‚ฌ๋‹ค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ ๋ฆด๋ฆฌ์Šค NGINX ์œ ๋‹› 1.17, ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด(Python, PHP, Perl, Ruby, Go, JavaScript/Node.js ๋ฐ Java)๋กœ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์†”๋ฃจ์…˜์ด ๊ฐœ๋ฐœ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. NGINX ์œ ๋‹›์€ ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์—ฌ๋Ÿฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋™์‹œ์— ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ตฌ์„ฑ ํŒŒ์ผ์„ ํŽธ์ง‘ํ•˜๊ณ  ๋‹ค์‹œ ์‹œ์ž‘ํ•  ํ•„์š” ์—†์ด ์‹คํ–‰ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋™์ ์œผ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ๋Š” C๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ, ๋ฐฐํฌ์ž Apache 2.0์— ๋”ฐ๋ผ ๋ผ์ด์„ผ์Šค๊ฐ€ ๋ถ€์—ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. NGINX Unit์˜ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐœํ‘œ ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ œ.

์ƒˆ ๋ฒ„์ „์—์„œ:

  • ๊ธฐํšŒ "action" ๋ธ”๋ก์—์„œ "return" ๋ฐ "location" ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž„์˜์˜ ๋ฐ˜ํ™˜ ์ฝ”๋“œ๋ฅผ ์ฆ‰์‹œ ๋ฐ˜ํ™˜ํ•˜๊ฑฐ๋‚˜ ์™ธ๋ถ€ ๋ฆฌ์†Œ์Šค๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด "*/.git/*" ๋งˆ์Šคํฌ์™€ ์ผ์น˜ํ•˜๋Š” URI์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ๊ฑฐ๋ถ€ํ•˜๊ฑฐ๋‚˜ www๊ฐ€ ์žˆ๋Š” ํ˜ธ์ŠคํŠธ๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์„ค์ •์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    {
    "์„ฑ๋ƒฅ": {
    "uri": "*/.git/*"
    },

    "ํ–‰๋™": {
    "๋ฐ˜ํ™˜": 403
    }
    }

    {
    "์„ฑ๋ƒฅ": {
    "ํ˜ธ์ŠคํŠธ": "example.org",
    },

    "ํ–‰๋™": {
    "๋ฐ˜ํ™˜": 301,
    "์œ„์น˜": "https://www.example.org"
    }
    }

  • ๋ธ”๋ก ๋‹จ์œ„์˜ ๋ถ€๋ถ„์ ์ธ ์„œ๋ฒ„ ๊ฐ€์ค‘์น˜ ์ง€์› "์ƒ๋ฅ˜์—". ์˜ˆ๋ฅผ ๋“ค์–ด ์ •์ˆ˜ ๊ฐ€์ค‘์น˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋””์ž์ธ์€ ๋‹ค๋ฅธ ์š”์ฒญ์˜ ์ ˆ๋ฐ˜์— ํ•ด๋‹นํ•˜๋Š” 192.168.0.103์œผ๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

    {
    "192.168.0.101:8080": {
    "๋ฌด๊ฒŒ": 2
    },
    "192.168.0.102:8080": {
    "๋ฌด๊ฒŒ": 2
    },
    "192.168.0.103:8080": { },
    "192.168.0.104:8080": {
    "๋ฌด๊ฒŒ": 2
    }
    }

    ์ด์ œ ๋” ๊ฐ„๋‹จํ•˜๊ณ  ๋…ผ๋ฆฌ์ ์ธ ํ˜•์‹์œผ๋กœ ์ถ•์†Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    {
    "192.168.0.101:8080": { },
    "192.168.0.102:8080": { },
    "192.168.0.103:8080": {
    "๋ฌด๊ฒŒ": 0.5
    },
    "192.168.0.104:8080": { }
    }

  • DragonFly BSD์—์„œ ๋นŒ๋“œํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋†’์€ ๋ถ€ํ•˜์—์„œ ์ฝ”๋“œ 502 "Bad Gateway"๊ฐ€ ์ถœ๋ ฅ๋˜๋Š” ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฆด๋ฆฌ์Šค 1.13.0๋ถ€ํ„ฐ ๋‚˜ํƒ€๋‚˜๋Š” ๋ผ์šฐํ„ฐ์˜ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ผ๋ถ€ Node.js ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ์˜ ๋น„ํ˜ธํ™˜์„ฑ์ด ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€