certbot ssl nginx - RLidea/dev.docs GitHub Wiki
Certbot ์ผ๋ก Nginx์ Letโs Encrypt SSL ์ ์ฉํ๊ธฐ
ํ๊ฒฝ:
OS: Ubuntu 18.04.3 LTS
certbot ์ค์น
$ sudo apt-get update # ์ ์ฅ์ ์
๋ฐ์ดํธ
$ sudo add-apt-repository ppa:certbot/certbot # certbot ์ ์ฅ์ ์ถ๊ฐ
$ sudo apt-get update # ์ ์ฅ์ ์
๋ฐ์ดํธ
$ sudo apt-get install -y python3-certbot-nginx # certbot ์ค์น
์ ์ค์น๋์๋์ง ํ์ธํด๋ณด์.
$ certbot --version
certbot 0.31.0
certbot ์คํ
$ sudo certbot --nginx
์ด๋ฉ์ผ, ์ฝ๊ด(a), ๋ฉ์ผ ์์ ์ฌ๋ถ(n), ๋๋ฉ์ธ(enter), http ํต์ ์ s๋ก ๋ฆฌ๋๋ ์ ์ฌ๋ถ(y or 2)๋ฅผ ์์๋๋ก ๋ฌผ์ด๋ณธ๋ค.
์ ๊ณผ์ ์ ๊ฑฐ์น๋ฉด ssl์ด ์ ์ฉ๋๋ค.
์ธ์ฆ์ ์๋ ๊ฐฑ์
crontab
์ ์ด์ฉํด์ ๊ฐฑ์ ์๋ํ
$ crontab -e
์๋ ๋ด์ฉ์ ์ถ๊ฐ (๋งค์ผ ์ค์ 5์์ ๊ฐฑ์ )
0 5 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot -q renew
Trouble Shooting
Certbot ์คํ์ ์๋ฌ
๋๋๋ก ์๋ ์๋ฌ๊ฐ ๋ฐ์ํจ.
$ sudo certbot --nginx
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Error while running nginx -c /etc/nginx/nginx.conf -t.
nginx: [emerg] unknown "connection_upgrade" variable
nginx: configuration file /etc/nginx/nginx.conf test failed
The nginx plugin is not working; there may be problems with your existing configuration.
The error was: MisconfigurationError('Error while running nginx -c /etc/nginx/nginx.conf -t.\n\nnginx: [emerg] unknown "connection_upgrade" variable\nnginx: configuration file /etc/nginx/nginx.conf test failed\n',)
solution:
sudo vi /etc/nginx/nginx.conf
์ ์๋ ๋ด์ฉ์ ์ถ๊ฐ (map
ํจ์๋ง ์ถ๊ฐํ๋ฉด ๋จ.)
http {
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
location / {
#โฆ
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
}
ref: https://developpaper.com/nginx-emerg-unknown-connection_upgrade-variable-solution-and-thinking/