nginx 1.17.0 ๋ฐ njs 0.3.2 ์ถœ์‹œ

๋„์ž… ์ƒˆ๋กœ์šด ๋ฉ”์ธ ๋ธŒ๋žœ์น˜์˜ ์ฒซ ์ถœ์‹œ nginx 1.17, ๊ทธ ์•ˆ์—์„œ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์˜ ๊ฐœ๋ฐœ์ด ๊ณ„์†๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค(๋ณ‘๋ ฌ๋กœ ์•ˆ์ •์ ์ธ ์ง€์› ์ง€์›). ์ง€์  1.16 ์‹ฌ๊ฐํ•œ ์˜ค๋ฅ˜ ๋ฐ ์ทจ์•ฝ์  ์ œ๊ฑฐ์™€ ๊ด€๋ จ๋œ ๋ณ€๊ฒฝ๋งŒ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.

์ฃผ์š” ๋ณ€๊ฒฝ:

  • "limit_rate" ๋ฐ "limit_rate_after" ์ง€์‹œ์–ด๋Š” ๋ฌผ๋ก  "proxy_upload_rate" ๋ฐ "proxy_upload_rate" ์ง€์‹œ๋ฌธ์— ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    ์ŠคํŠธ๋ฆผ ๋ชจ๋“ˆ์˜ "proxy_download_rate";

  • OpenSSL์˜ ์ตœ์†Œ ์ง€์› ๋ฒ„์ „์ธ 0.9.8์— ๋Œ€ํ•œ ์š”๊ตฌ ์‚ฌํ•ญ์ด ์ฆ๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ธฐ๋ณธ์ ์œผ๋กœ ngx_http_postpone_filter_module ๋ชจ๋“ˆ์ด ๋นŒ๋“œ๋ฉ๋‹ˆ๋‹ค.
  • "if" ๋ฐ "limit_Exception" ๋ธ”๋ก ๋‚ด์—์„œ "include" ์ง€์‹œ๋ฌธ์ด ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฐ”์ดํŠธ ๊ฐ’ ์ฒ˜๋ฆฌ ์‹œ ๋ฒ„๊ทธ ์ˆ˜์ • โ€‹โ€‹"๋ฒ”์œ„".

๋ธŒ๋žœ์น˜ 1.17์—์„œ ์˜ˆ์ƒ๋˜๋Š” ์ค‘์š”ํ•œ ๊ฐœ์„  ์‚ฌํ•ญ ์ค‘์—๋Š” ํ”„๋กœํ† ์ฝœ ์ง€์› ๊ตฌํ˜„์ด ์–ธ๊ธ‰๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. QUIC ๋ฐ HTTP/3.

์ถ”๊ฐ€์ ์œผ๋กœ ์ฃผ๋ชฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ๋ฌธ์ œ njs 0.3.2, nginx ์›น ์„œ๋ฒ„์šฉ JavaScript ์ธํ„ฐํ”„๋ฆฌํ„ฐ. njs ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋Š” ECMAScript ํ‘œ์ค€์„ ๊ตฌํ˜„ํ•˜๋ฉฐ ๊ตฌ์„ฑ์—์„œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” nginx์˜ ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ตฌ์„ฑ ํŒŒ์ผ์—์„œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์š”์ฒญ ์ฒ˜๋ฆฌ, ๊ตฌ์„ฑ ์ƒ์„ฑ, ๋™์ ์œผ๋กœ ์‘๋‹ต ์ƒ์„ฑ, ์š”์ฒญ/์‘๋‹ต ์ˆ˜์ • ๋˜๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•œ ์Šคํ… ์‹ ์† ์ƒ์„ฑ์„ ์œ„ํ•œ ๊ณ ๊ธ‰ ๋…ผ๋ฆฌ๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

njs์˜ ์ƒˆ ๋ฆด๋ฆฌ์Šค์—๋Š” ์‚ฌ์–‘์— ์ •์˜๋œ ๋ฌธ์ž์—ด ํ…œํ”Œ๋ฆฟ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ECMAScript 6. ๋ฌธ์ž์—ด ํ…œํ”Œ๋ฆฟ์€ ์‹ ์ธ๋ผ์ธ์„ ํ—ˆ์šฉํ•˜๋Š” ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด์ž…๋‹ˆ๋‹ค. ํ‘œํ˜„์‹์€ ๊ฐœ๋ณ„ ๋ณ€์ˆ˜(${name})์™€ ํ‘œํ˜„์‹(${5 + a + b}))์„ ๋ชจ๋‘ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋Š” ํ–‰ ๋‚ด๋ถ€์— ๋ฐฐ์น˜๋œ ${...} ๋ธ”๋ก์—์„œ ์ •์˜๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ๋ช…๋ช…๋œ ๊ทธ๋ฃน์— ๋Œ€ํ•œ ์ง€์›์ด RegExp ๊ฐœ์ฒด์— ์ถ”๊ฐ€๋˜์–ด ์ •๊ทœ์‹๊ณผ ์ผ์น˜ํ•˜๋Š” ๋ฌธ์ž์—ด ๋ถ€๋ถ„์„ ์ผ์น˜ํ•˜๋Š” ์ผ๋ จ ๋ฒˆํ˜ธ ๋Œ€์‹  ํŠน์ • ์ด๋ฆ„๊ณผ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. GNU Readline ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•œ ๋นŒ๋“œ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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