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