nginx 1.21.2 ๋ฐ njs 0.6.2 ์ถœ์‹œ

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

์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ :

  • "Transfer-Encoding" HTTP ํ—ค๋”๋ฅผ ํฌํ•จํ•˜๋Š” HTTP/1.0 ์š”์ฒญ์€ ์ฐจ๋‹จ๋ฉ๋‹ˆ๋‹ค(HTTP/1.1 ํ”„๋กœํ† ์ฝœ ๋ฒ„์ „์— ๋‚˜ํƒ€๋‚จ).
  • ๋‚ด๋ณด๋‚ด๊ธฐ ์•”ํ˜ธํ™” ์ œํ’ˆ๊ตฐ์— ๋Œ€ํ•œ ์ง€์›์ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • OpenSSL 3.0 ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€์˜ ํ˜ธํ™˜์„ฑ์ด ๋ณด์žฅ๋ฉ๋‹ˆ๋‹ค.
  • "Auth-SSL-Protocol" ๋ฐ "Auth-SSL-Cipher" ํ—ค๋”๋ฅผ ๋ฉ”์ผ ํ”„๋ก์‹œ ์ธ์ฆ ์„œ๋ฒ„๋กœ ์ „์†กํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์š”์ฒญ ๋ณธ๋ฌธ ํ•„ํ„ฐ๋ง API๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ฒ˜๋ฆฌ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฒ„ํผ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์„œ๋ฒ„ ์ธ์ฆ์„œ๋ฅผ ๋กœ๋“œํ•  ๋•Œ OpenSSL 1.1.0๋ถ€ํ„ฐ ์ง€์›๋˜๊ณ  ssl_ciphers ์ง€์‹œ๋ฌธ์˜ "@SECLEVEL=N" ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ์ง€์ •๋œ ๋ณด์•ˆ ์ˆ˜์ค€์˜ ์‚ฌ์šฉ์ด ์กฐ์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ŠคํŠธ๋ฆผ ๋ฐ gRPC ๋ชจ๋“ˆ์—์„œ ๋ฐฑ์—”๋“œ์— ๋Œ€ํ•œ SSL ์—ฐ๊ฒฐ์„ ์ƒ์„ฑํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์ค‘๋‹จ ๋ฌธ์ œ๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์š”์ฒญ์— "Content-Length" ํ—ค๋”๊ฐ€ ์—†์„ ๋•Œ HTTP/2๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์š”์ฒญ ๋ณธ๋ฌธ์„ ๋””์Šคํฌ์— ์“ธ ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋™์‹œ์— nginx ์›น ์„œ๋ฒ„์šฉ JavaScript ์ธํ„ฐํ”„๋ฆฌํ„ฐ์ธ njs 0.6.2๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. njs ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋Š” ECMAScript ํ‘œ์ค€์„ ๊ตฌํ˜„ํ•˜๋ฉฐ ๊ตฌ์„ฑ์—์„œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” nginx์˜ ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ตฌ์„ฑ ํŒŒ์ผ์—์„œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์š”์ฒญ ์ฒ˜๋ฆฌ, ๊ตฌ์„ฑ ์ƒ์„ฑ, ๋™์ ์œผ๋กœ ์‘๋‹ต ์ƒ์„ฑ, ์š”์ฒญ/์‘๋‹ต ์ˆ˜์ • ๋˜๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•œ ์Šคํ… ์‹ ์† ์ƒ์„ฑ์„ ์œ„ํ•œ ๊ณ ๊ธ‰ ๋…ผ๋ฆฌ๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ ๋ฒ„์ „์—์„œ๋Š” Promise.all(), Promise.allSettled(), Promise.any() ๋ฐ Promise.race() ๋ฉ”์„œ๋“œ๊ฐ€ Promise ๊ตฌํ˜„์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. AggregateError ๊ฐœ์ฒด์— ๋Œ€ํ•œ ์ง€์›์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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