nginx 1.21.4์ ๋ฉ์ธ ๋ธ๋์น๊ฐ ์ถ์๋์์ผ๋ฉฐ, ๊ทธ ์์์ ์๋ก์ด ๊ธฐ๋ฅ์ ๊ฐ๋ฐ์ด ๊ณ์๋ฉ๋๋ค(๋ณ๋ ฌ ์ง์ ์์ ๋ธ๋์น 1.20์์๋ ์ฌ๊ฐํ ์ค๋ฅ ๋ฐ ์ทจ์ฝ์ ์ ๊ฑฐ์ ๊ด๋ จ๋ ๋ณ๊ฒฝ ์ฌํญ๋ง ์ ์ฉ๋จ).
์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ :
- ALPN ๋์ NPN(Next Protocol Negotiation) ํ์ฅ์ ์ฌ์ฉํ์ฌ HTTP/2 ์ฐ๊ฒฐ ์ค์ ์ ๋ํ ์ง์์ด ์ค๋จ๋์์ต๋๋ค.
- ์ฐ๊ฒฐ ํ์ ์ค์ ์ง์๋๋ ํ๋กํ ์ฝ์ด ์ ํ๋์ง ์์ ๊ฒฝ์ฐ ํด๋ผ์ด์ธํธ๊ฐ ALPN ํ์ฅ์ ์ฌ์ฉํ ๋ SSL ์ฐ๊ฒฐ์ด ๋ซํ๋๋ก ํฉ๋๋ค.
- "sendfile_max_chunk" ์ง์์ด์์ ๊ธฐ๋ณธ๊ฐ์ 2MB๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.
- ์คํธ๋ฆผ ๋ชจ๋์๋ Proxy_half_close ์ง์์ด๊ฐ ์ถ๊ฐ๋์ด ํ์ชฝ์์ ํ๋ก์ TCP ์ฐ๊ฒฐ์ ๋ซ์ ๋("TCP half-close") ๋์์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
- ์คํธ๋ฆผ ๋ชจ๋์๋ ์ง์๋๋ ALPN ํ๋กํ ์ฝ(h2, http/1.1) ๋ชฉ๋ก๊ณผ ํด๋ผ์ด์ธํธ์ ํฉ์ํ ALPN ํ๋กํ ์ฝ์ ๋ฐ์ํ๋ $ssl_alpn_protocol ๋ณ์ ๋ชฉ๋ก์ ๊ฒฐ์ ํ๊ธฐ ์ํด ssl_alpn ์ง์๋ฌธ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- OpenSSL 3.0์ ์ฌ์ฉํ ๋ SSL_sendfile() ํธ์ถ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ํค ํ๋ ์์์ ์์ํ๋ ๋น๋์ค ์คํธ๋ฆผ์ ๋ธ๋ก๋์บ์คํธํ๊ธฐ ์ํด ngx_http_mp4_module ๋ชจ๋์ "mp4_start_key_frame" ์ง์์ด๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- ์ฒญํฌ ์ ์ก ์ธ์ฝ๋ฉ์ ์ฌ์ฉํ ๋ $content_length ๋ณ์ ์ค์ ์ ์์ ํ์ต๋๋ค.
- ํ๋ก์๋ ๋ฐฑ์๋์์ ์๋ชป๋ ๊ธธ์ด์ ์๋ต์ ์์ ํ ๋ ๋ฐ์ํ๋ ์ฐ๊ฒฐ ์บ์ฑ ์ค๋ฅ๊ฐ ์์ ๋์์ต๋๋ค.
- ๋ฐฑ์๋์ ํค๋๊ฐ ์ฌ๋ฐ๋ฅด์ง ์์ ๊ฒฝ์ฐ "์ ๋ณด" ๋์ "์ค๋ฅ" ์์ค์ผ๋ก ๋ก๊น ๋๋ ๋ฌธ์ ๋ฅผ ์์ ํ์ต๋๋ค.
- HTTP/2 ๋ฐ aio_write ์ง์๋ฌธ์ ์ฌ์ฉํ ๋ ์์ฒญ์ด ์ค๋จ๋๋ ๋ฌธ์ ๋ฅผ ์์ ํ์ต๋๋ค.
์ถ์ฒ : opennet.ru