Certbot: Nginx ํ”Œ๋Ÿฌ๊ทธ์ธ์—์„œ HTTP2 ์ง€์›

์— ๋งŒ๋“  2016๋…„ 10์›” 17์ผ  ยท  31์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: certbot/certbot

#3640์—์„œ ๋ถ„ํ• ํ•ฉ๋‹ˆ๋‹ค.

nginx feature request significant

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

#3640์—์„œ

ํ˜„์žฌ nginx ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ๋‹ค์Œ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
listen 443 ssl; # managed by Certbot

HTTP 2์— ๋Œ€ํ•œ ์˜ต์…˜์€ --http2 ํ”Œ๋ž˜๊ทธ๋ฅผ ์ง€์ •ํ•˜๊ฑฐ๋‚˜ nginx์˜ ํ˜ธํ™˜์„ฑ์„ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

listen 443 ssl http2;
listen [::]:443 ssl http2;

๋ชจ๋“  31 ๋Œ“๊ธ€

#3640์—์„œ

ํ˜„์žฌ nginx ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ๋‹ค์Œ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
listen 443 ssl; # managed by Certbot

HTTP 2์— ๋Œ€ํ•œ ์˜ต์…˜์€ --http2 ํ”Œ๋ž˜๊ทธ๋ฅผ ์ง€์ •ํ•˜๊ฑฐ๋‚˜ nginx์˜ ํ˜ธํ™˜์„ฑ์„ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

listen 443 ssl http2;
listen [::]:443 ssl http2;

๋ฌธ์ œ์— ์ง„์ „์ด ์žˆ์Šต๋‹ˆ๊นŒ? http2 ๋ฅผ ์ง์ ‘ ์ถ”๊ฐ€ํ•˜๋ฉด ๊ฐฑ์‹  ์‹œ ์ง€์›Œ์ง€๋‚˜์š”?

์•„๋‹ˆ์š” certbot renew ๋กœ ์ธ์ฆ์„œ๋ฅผ ๊ฐฑ์‹ ํ•ด๋„ ์ด ํ–‰์€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์— ๊ด€ํ•œ ๋‚ด ๋ฌธ์ œ๋ฅผ ํ™•์ธํ•˜๊ณ  22์‹œ๊ฐ„ ์ „์— ๋ฌธ์„ ๋‹ซ์•˜์Šต๋‹ˆ๋‹ค.

๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ๋‹ค๋Š” ์†Œ์‹์ด ๊ฐ€์žฅ ๋จผ์ € ์—ฌ๊ธฐ์— ๊ฒŒ์‹œ๋  ๊ฒƒ ๊ฐ™์€๋ฐ์š”?

๋†€๋ž๊ฒŒ๋„ rgrep -il http2 certbot-nginx ๋Š” ์•„๋ฌด ๊ฒƒ๋„ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์•„์ง ์‹œํ–‰๋˜์ง€ ์•Š๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

@benqzq ๋„ค. ์ด์— ๋Œ€ํ•œ ๋ชจ๋“  ์ง„ํ–‰ ์†Œ์‹์ด ์—ฌ๊ธฐ์— ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค. Let's Encrypt ์ปค๋ฎค๋‹ˆํ‹ฐ ํฌ๋Ÿผ์˜ ์ฃผ์ œ๋Š” 30์ผ ๋™์•ˆ ํ™œ๋™์ด ์—†์œผ๋ฉด ์ž๋™์œผ๋กœ ๋‹ซํž™๋‹ˆ๋‹ค.

--lhttp ํ”Œ๋ž˜๊ทธ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค( l ๋Š” "์ตœ์‹ "์„ ์˜๋ฏธํ•จ). ๊ทธ๋Ÿฌ๋ฉด ํŠน์ • ๋ฒ„์ „์˜ http์— ๊ณ ์ •๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. l ๊ฐ€ ํ˜ผ๋ž€์Šค๋Ÿฌ์šธ ์ˆ˜ ์žˆ์ง€๋งŒ(์•„๋งˆ๋„ --LH ?).

@benqzq ๊ฐ„๋‹จํ•œ ๊ฒƒ์„ ๋ณต์žกํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? --http2 ์€(๋Š”) ์ž๋ช…ํ•ฉ๋‹ˆ๋‹ค.

  • ๊ธฐ๋ณธ ๋™์ž‘์€ http2 ๊บผ์ง์ž…๋‹ˆ๋‹ค.
  • --http2๋Š” http2๋ฅผ ์ผญ๋‹ˆ๋‹ค.

๋•Œ๋กœ๋Š” ์ตœ์†Œํ•œ ํ•„์š”ํ•œ ๊ฒƒ์ด์ง€๋งŒ ์–ด์จŒ๋“  ๋‚˜๋Š” ์ผ๋ฐ˜์ ์ธ ํ‘œ๊ธฐ๋ฒ•์— ๋ชจ๋‘ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ๋‘˜ ์ค‘ ํ•˜๋‚˜๋Š” ์ข‹์€ IMHO์ž…๋‹ˆ๋‹ค( --http2 ๋˜๋Š” ๋‚ด๊ฐ€ ์ œ์•ˆํ•œ ์ผ๋ฐ˜ ํ‘œ๊ธฐ๋ฒ•).

์ด๊ฒƒ์€ ๋งค์šฐ ์ค‘์š”ํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์ด๋ฏธ ์ถ”๊ฐ€ํ•ด ์ฃผ์—ˆ์œผ๋ฉด ํ•˜๋Š” ๋ฐ”๋žจ์ž…๋‹ˆ๋‹ค...

์ธ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ๋•Œ๊นŒ์ง€ ์ž๋™ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•:

sed -i "s/listen 443 ssl;/listen 443 ssl http2;/" /etc/nginx/sites-available/$domain.conf

certbot์œผ๋กœ http2๋ฅผ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์•„์ง ์—†๋‚˜์š”? ๋ˆ„๊ตฌ๋“ ์ง€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ?

@KyleTryon ์œ„์—์„œ sed ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ–ˆ์ง€๋งŒ ์•„์ง ๊ณต์‹์ ์ธ ๋ฐฉ๋ฒ•์ด ์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ์ดํ•ดํ•  ์ˆ˜ ์—†๋‹ค.

@bendqh ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๋‹น์‹ ์ผ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ!

๋†€๋ž๊ฒŒ๋„ ์ด ๊ธฐ๋Šฅ์€ ์•„์ง ์ถ”๊ฐ€๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. :-)

@yw662 , ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์ œ์ถœํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

ํ•ด๊ฒฐํ•˜๊ธฐ ์‰ฝ๊ธฐ ๋•Œ๋ฌธ์— ... ์‹œ๊ฐ„๋งŒ ์žˆ๋‹ค๋ฉด ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋ฌธ์ œ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ์‰ฝ์ง€๋งŒ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์€ ์‰ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค :-).

2019๋…„ ๋ฒ”ํ”„.

0 0,12 * * * certbot renew --quiet
1 0,12 * * * sed -i "s/listen 443 ssl;/listen 443 ssl http2;/" /etc/nginx/sites-available/default
2 0,12 * * * sed -i "s/443 ssl ipv6only=on;/443 ssl http2 ipv6only=on;/" /etc/nginx/sites-available/default
3 0,12 * * * systemctl nginx reload

--http2 ๊ฐ€ ํ›จ์”ฌ ์‰ฌ์šธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค...

@rowan-OzRunways https://github.com/certbot/certbot/issues/3646#issuecomment -323814774๊ฐ€ ๊ท€ํ•˜์—๊ฒŒ ์œ ํšจํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ? http2 ๋ฅผ ์†์œผ๋กœ ํ•œ ๋ฒˆ๋งŒ ์ถ”๊ฐ€ํ•˜๋ฉด ๊ฐฑ์‹  ํ•  ๋•Œ ๊ฑด๋“œ๋ฆฌ์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ  ํด๋ฆฌ์–ดํ•œ ์ค„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ์€ ์ง€์›Œ์กŒ์ง€๋งŒ certbot-auto ์˜€์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ํ™•์ธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

:+1: :+1: :+1: ๋ฒ”ํ”„
์ œ ์ƒ์ผ์ž…๋‹ˆ๋‹ค ์ถ”๊ฐ€ํ•ด์ฃผ์„ธ์š” ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

์–ผ๋งˆ๋‚˜ ๋งŽ์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ˆ˜๋™์œผ๋กœ ์ธ์ฆ์„œ๋ฅผ ์š”์ฒญํ•˜๊ณ  ํ•„์š”์— ๋”ฐ๋ผ Nginx ์„œ๋ฒ„ ๋ธ”๋ก์„ ์กฐ์ •ํ•˜๋Š” ๋Œ€์‹  ๋ชจํ˜ธํ•œ(์ž๋™) ๊ตฌ์„ฑ์— ์˜์กดํ•˜๋Š”์ง€ ๋†€๋ž์Šต๋‹ˆ๋‹ค...

๊ธฐ๋ณธ ๋™์ž‘์€ http2 ๊บผ์ง์ž…๋‹ˆ๋‹ค.
--http2๋Š” http2๋ฅผ ์ผญ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ HTTP/2๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ง€์›๋˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ณ  ๊ฒฐ๊ตญ์—๋Š” HTTP/3์ด ๋  ๊ฒƒ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•˜๋Š” ์˜จ๋ผ์ธ ํŠœํ† ๋ฆฌ์–ผ์˜ ๋ณต์‚ฌ ๋ถ™์—ฌ๋„ฃ๊ธฐ๋กœ ์ˆ˜๋…„์ด ๊ฑธ๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ๋‚˜์œ ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค. ํ”Œ๋ž˜๊ทธ ๋“ฑ์œผ๋กœ HTTP/2๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ฒƒ์ด ๋” ํ•ฉ๋ฆฌ์ ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. "๋ฉ์ฒญํ•œ" ๊ตฌ์„ฑ ์ž๋™ํ™”์— ์˜์กดํ•˜๋Š” ๊ฒฝ์šฐ ์ผ์‹œ์ ์œผ๋กœ ๊ด€๋ จ๋œ ๋ช…๋ น ํ”Œ๋ž˜๊ทธ๋ฅผ ์ถ”๊ฐ€ํ•  ์ด์œ ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

"ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•"์ด ์ˆ˜๋™์œผ๋กœ ์ธ์ฆ์„œ๋ฅผ ์š”์ฒญํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

certbot certonly --noninteractive --agree-tos --expand -m ${SSL_EMAIL} -d ${SITE_DOMAIN_ONE} -d ${SITE_DOMAIN_TWO} --webroot -w /var/www/html/

์ฐธ์กฐ: https://github.com/littlebizzy/slickstack/blob/master/ss-encrypt.txt

... ๊ทธ๋Ÿฐ ๋‹ค์Œ ์‚ฌ์šฉ์ž ์ง€์ • Nginx ์„œ๋ฒ„ ๋ธ”๋ก์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ:

server {
listen                 443 ssl http2;
listen                 [::]:443 ssl http2 ipv6only=on;
server_name            @DOMAIN;
    if ($http_host != "@DOMAIN") {
        return 301            $scheme://@DOMAIN$request_uri;
    }

์ฐธ์กฐ: https://github.com/littlebizzy/slickstack/blob/master/nginx/default-single-site.txt
์ฐธ์กฐ: https://github.com/littlebizzy/slickstack/blob/master/nginx/nginx-conf.txt

์šฐ๋ฆฌ nginx ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ํ˜„์žฌ --http2 ํ”Œ๋ž˜๊ทธ๊ฐ€ ์žˆ์–ด๋„ HTTP/2 ์ง€์› ํ™œ์„ฑํ™”๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์ด ๋ฌธ์ œ์— ์˜ํ•ด ์ถ”์ ๋˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ๋™์ž‘๊ณผ ๊ด€๋ จํ•˜์—ฌ ๊ณผ๊ฑฐ์— --redirect ์™€ ๊ฐ™์€ ํ”Œ๋ž˜๊ทธ๋กœ ์ˆ˜ํ–‰ํ•œ ์ž‘์—…์€ ์ดˆ๊ธฐ์— ํ”Œ๋ž˜๊ทธ ๋’ค์— ์ˆจ๊ฒจ์ง„ ์ง€์›์„ ๊ตฌํ˜„ํ•˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ์‹œ๋„ํ•˜๋„๋ก ๊ถŒ์žฅํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ๋ฅผ ์ž˜ ๊ฑฐ์นœ ํ›„์—๋Š” ๊ตฌ์„ฑ์„ ์ค‘๋‹จํ•˜์ง€ ์•Š๋Š”์ง€ ํ™•์ธํ•œ ํ›„ ๋ชจ๋“  ์‚ฌ์šฉ์ž์˜ ๊ธฐ๋ณธ ๋™์ž‘์œผ๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@jessuppi

์–ผ๋งˆ๋‚˜ ๋งŽ์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ˆ˜๋™์œผ๋กœ ์ธ์ฆ์„œ๋ฅผ ์š”์ฒญํ•˜๊ณ  ํ•„์š”์— ๋”ฐ๋ผ Nginx ์„œ๋ฒ„ ๋ธ”๋ก์„ ์กฐ์ •ํ•˜๋Š” ๋Œ€์‹  ๋ชจํ˜ธํ•œ(์ž๋™) ๊ตฌ์„ฑ์— ์˜์กดํ•˜๋Š”์ง€ ๋†€๋ž์Šต๋‹ˆ๋‹ค...

์š”์ ์„ ์™„์ „ํžˆ ๋†“์น˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ง์ ‘ ํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ ๊ฐœ์„ ํ•ด์•ผ ํ•  certbot ํด๋ผ์ด์–ธํŠธ์™€ ํ•จ๊ป˜ ์ œ๊ณต๋˜๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. certbot์ด ์›น ์„œ๋ฒ„๋ฅผ ๊ตฌ์„ฑํ•˜๋„๋ก ํ—ˆ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋Š” ์ด ๋ฌธ์ œ์˜ ๋ฒ”์œ„๋ฅผ ์™„์ „ํžˆ ๋ฒ—์–ด๋‚ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” ์ด์ œ 4๋…„ ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. certbot์ด ์ž๋™์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ํ•œ --http2 ๋˜๋Š” --no-http2 ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋Š” ์‚ฌ๋žŒ๋“ค์ด ๋ณ„๋กœ ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š๋Š”๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

@bmw ์ง€๋‚œ 4๋…„ ๋™์•ˆ ์ด๋ฏธ ๊ตฌํ˜„๋œ ๋ชจ๋“  ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋น„ํ•ด ์ƒ๋Œ€์ ์œผ๋กœ ๋‹จ์ˆœํ•ด์•ผ ํ•˜๋Š” ์ผ์— ์™œ ๊ทธ๋ ‡๊ฒŒ ๊ธด ์ง€์—ฐ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ํ™•์‹คํžˆ certbot ํŒ€์€ ์ตœ์‹  ๋ฒ„์ „์˜ HTTP2์— ๋Œ€ํ•œ ์ ์ ˆํ•œ ์ง€์›๋„ ์ค‘์š”ํ•˜๋‹ค๋Š” ๋ฐ ๋™์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค...

์‹ค์ œ๋กœ ๊ณต๊ฐœ PR์ด ์žˆ์Šต๋‹ˆ๋‹ค. https://github.com/certbot/certbot/pull/7113

@bmw ์ƒ๋Œ€์ ์œผ๋กœ ๋‹จ์ˆœํ•ด์•ผ ํ•  ์ผ์— ์™œ ๊ทธ๋ ‡๊ฒŒ ๊ธด ์ง€์—ฐ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

๋งŽ์€ Certbot ๋ฌธ์ œ๊ฐ€ ์žˆ๊ณ  ์šฐ๋ฆฌ๋Š” ์ž‘์€ ํŒ€์ด๊ธฐ ๋•Œ๋ฌธ์— ์šฐ์„  ์ˆœ์œ„๋ฅผ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ์ด ๊ฐ€์น˜๊ฐ€ ์žˆ๋‹ค๋Š” ๋ฐ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์•„์ง ๊ทธ๊ฒƒ์— ๋„๋‹ฌํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

์•ž์œผ๋กœ ์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์ฐพ์„ ๋•Œ ๋” ์‰ฝ๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ์ด ๋ฌธ์ œ์— ์šฐ์„  ์ˆœ์œ„ ๋ ˆ์ด๋ธ”์„ ์ถ”๊ฐ€ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”. http2 NGINX ๊ตฌ์„ฑ์„ ์ง€์›ํ•˜๋Š” certbot์— ๋Œ€ํ•œ ์ˆ˜์ • ์‚ฌํ•ญ์ด ์ œ๊ณต๋˜๋”๋ผ๋„ Boundler๊ฐ€ ์—ฌ์ „ํžˆ HTTP/2 ์—ฐ๊ฒฐ์— ๋Œ€ํ•ด ์›น ๋ฃจํŠธ ๊ฒ€์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์‚ฌ์‹ค์„ ์ˆ˜์ •ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋งž์Šต๋‹ˆ๊นŒ? ์ฐธ์กฐ. ์ด ๋งํฌ

์ด๊ฒƒ์€ ์•”ํ˜ธํ™”๋˜์ง€ ์•Š์€ ํฌํŠธ์˜ http2์— ๊ด€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ๋Š” ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์•”ํ˜ธํ™”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํฌํŠธ 443์˜ listen ์ง€์‹œ๋ฌธ์— http2 ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

@cperrin88 ๋ฌผ๋ก ์ด์ง€๋งŒ ๋ช…์‹ฌํ•ด์•ผ ํ•  ๊ฒƒ์€ NGINX๋Š” HTTP/1.1 -> HTTP/2 h2c ํ”„๋กœํ† ์ฝœ ์—…๊ทธ๋ ˆ์ด๋“œ ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฑŒ๋ฆฐ์ง€ ๊ตํ™˜์€ ์„œ๋ฒ„๊ฐ€ HTTP/1.1์„ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ณ  "์„œ๋ฒ„๊ฐ€ HTTP๋ฅผ ํ†ตํ•ด HTTP/2๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค"๋ผ๋Š” ์˜ค๋ฅ˜์™€ ํ•จ๊ป˜ ๋ถˆํ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ํŒจ์น˜๊ฐ€ ์ ์šฉ๋  ๋•Œ ์—ผ๋‘์— ๋‘์–ด์•ผ ํ•  ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. IMHO :)

์ด ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•ด ์•”ํ˜ธํ™”๋˜์ง€ ์•Š์€ ํฌํŠธ์— http2๊ฐ€ ์ถ”๊ฐ€๋˜์–ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์šฐ๋ฆฌ๋Š” ๊ทธ๊ฒƒ์„ ์—ผ๋‘์— ๋‘์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰