#3640์์ ๋ถํ ํฉ๋๋ค.
#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
์(๋) ์๋ช
ํฉ๋๋ค.
๋๋ก๋ ์ต์ํ ํ์ํ ๊ฒ์ด์ง๋ง ์ด์จ๋ ๋๋ ์ผ๋ฐ์ ์ธ ํ๊ธฐ๋ฒ์ ๋ชจ๋ ๋์ํฉ๋๋ค. ๋ ์ค ํ๋๋ ์ข์ 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๊ฐ ์ถ๊ฐ๋์ด์๋ ์ ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ ์ผ๋์ ๋์ด์ผ ํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
#3640์์
ํ์ฌ nginx ํ๋ฌ๊ทธ์ธ์ ๋ค์์ ์ถ๊ฐํฉ๋๋ค.
listen 443 ssl; # managed by Certbot
HTTP 2์ ๋ํ ์ต์ ์
--http2
ํ๋๊ทธ๋ฅผ ์ง์ ํ๊ฑฐ๋ nginx์ ํธํ์ฑ์ ํ์ธํ๋ ๊ฒ์ด ์ข์ต๋๋ค.