이제 거의 반이상을 달려왔습니다.
정상에 오르려면 아직 한번의 큰산(?)이 남았습니다.
설치된 nginx에다가 SSL 인증서를 설정하는 것입니다.
그것도 무료 SSL 인증서 입니다.
가능할까요?
어렵게 어렵게 진행해 보았습니다. 헉헉~
무료 SSL인증서 서비스를 해주는 곳은 Let's Encrypt라는 곳입니다. (저도 처음사용이라 ;;;)
(Let's Encrypt SSL 인증서 준비)
SSL 발급을 위해서는 /var/www/letsencrypt 라는 하단 디렉토리를 생성하고 ./well-known/acme-challenge를 만들어야 한다고 합니다.
mkdir -p /var/www/letsencrypt/.well-known/acme-challenge
그런후에 nginx 라우팅 설정 파일은 /etc/snippets/ 디렉토리에서 관리하며 그 하위에 letsencrypt.conf 파일을 만들고 해당 ubuntu 계정에 권한 및 파일 수정 권한을 부여하도록 하겠습니다.
sudo touch /etc/nginx/snippets/letsencrypt.conf
sudo chown root:ubuntu /etc/nginx/snippets/letsencrypt.conf
sudo chmod 775 /etc/nginx/snippets/letsencrypt.conf
해당 되는 파일(/etc/nginx/snippets/letsencrypt.conf) 을 열어보도록 하겠습니다.
그곳에 아래 내용을 붙여서 넣어 줍니다.
location ^~ /.well-known/acme-challenge/ {
default_type "text/plain";
root /var/www/letsencrypt;
}
해당 파일을 저장하시면 됩니다.
그다음으로 지금 설정한 letsencrypt.conf 파일을 nginx라우팅 설정에 내용을 붙여주어야 합니다.
다시 /etc/nginx/sites-available/default 파일을 수정합니다.
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name XXXX.com;
include /etc/nginx/snippets/letsencrypt.conf; ### .well-know/acme-challenge 알림
이러면 완료되었고요. 반영을 위해 nginx를 아래와 같이 한번더 재기동합니다.
ubuntu@bluehorse:/etc/nginx/sites-available$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
ubuntu@bluehorse:/etc/nginx/sites-available$sudo service nginx restart
여기까지 Let;s Encrypt SSL 발급을 위한 환경준비였습니다.
이제부터가 진짜입니다. (@,.@)
(Let's Encrypt SSL 인증서 발급)
먼저 Let's Encrypt SSL 인증서를 다운받습니다.
wget https://dl.eff.org/certbot-auto -P /home/ubuntu/
chmod a+x certbot-auto
export LC_ALL="C"
/home/ubuntu/certbot-auto certonly --webroot --agree-tos --no-eff-email --email 본인메일주소 -w /var/www/letsencrypt -d 본인도메인 -d 본인도메인(www주소)
그런데 말입니다. 처음부터 wget 시에 해당되는 certbot 을 다운 받을 수가 없었습니다. (막혀있더라구요)
몇번을 실행해도
Certbot cannot be installed.
Certbot cannot be installed.
Certbot cannot be installed.
Certbot cannot be installed.
Requesting to rerun /home/ubuntu/certbot-auto with root privileges...
Skipping bootstrap because certbot-auto is deprecated on this system.
WARNING: couldn't find Python 2.7+ to check for updates.
Your system is not supported by certbot-auto anymore.
Certbot cannot be installed.
Please visit https://certbot.eff.org/ to check for other alternatives.
여기서 좌절되나 싶었습니다. 거의 다 왔는데 ㅠ
다시 찾아보고 삽질 시작 ~~~ (언제 끝나나 ㅠ)
결국 snap 이라는 것으로 설치하라는 거였습니다. (막히긴 했지만 막힌게 아니었어요 ㅠ)
$ sudo snap install core; sudo snap refresh core
$ sudo apt-get remove certbot
$ sudo snap install --classic certbot
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
$ sudo certbot certonly --webroot --agree-tos --no-eff-email --email 이메일주소 -w /var/www/letsencrypt -d 도메인명 -d 도메인명(www포함)
이렇게 말입니다.
여기가 삽질의 백미(?) 였던 거 같습니다. 저렇게 실행하니
정상적으로 해당 파일을 저장 절차를 수행하더라구요
중간에도 After this operation, 194 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
나오면 계속 진행합니다.
Requesting to rerun /home/ubuntu/certbot-auto with root privileges...
Bootstrapping dependencies for Debian-based OSes... (you can skip this with --no-bootstrap)
Hit:1 http://ap-seoul-1-ad-1.clouds.archive.ubuntu.com/ubuntu bionic InRelease
Get:2 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
Hit:3 http://ppa.launchpad.net/ondrej/php/ubuntu bionic InRelease
Get:4 http://ap-seoul-1-ad-1.clouds.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
Get:5 http://ap-seoul-1-ad-1.clouds.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
Fetched 252 kB in 2s (125 kB/s)
Reading package lists... Done
Reading package lists... Done
(중간생략)
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/itreport.tk/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/itreport.tk/privkey.pem
Your cert will expire on 2020-08-31. To obtain a new or tweaked
version of this certificate in the future, simply run certbot-auto
again. To non-interactively renew *all* of your certificates, run
"certbot-auto renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
이제 SSL 사용을 위한 HTTPS 인증서 파일 및 개인암호키가 저장되었다고 나오며 인증서 만료일도 확인됩니다. (야호)
제대로 저장되었는지만 물리적인 pem 파일을 확인하겠습니다.
ubuntu@bluehorse:/etc/letsencrypt$ sudo ls -al /etc/letsencrypt/live/XXXX.com
total 12
drwxr-xr-x 2 root root 4096 Nov 29 12:47 .
drwx------ 3 root root 4096 Nov 29 12:47 ..
-rw-r--r-- 1 root root 692 Nov 29 12:47 README
lrwxrwxrwx 1 root root 35 Nov 29 12:47 cert.pem -> ../../archive/XXXX.com/cert1.pem
lrwxrwxrwx 1 root root 36 Nov 29 12:47 chain.pem -> ../../archive/XXXX.com/chain1.pem
lrwxrwxrwx 1 root root 40 Nov 29 12:47 fullchain.pem -> ../../archive/XXXX.com/fullchain1.pem
lrwxrwxrwx 1 root root 38 Nov 29 12:47 privkey.pem -> ../../archive/XXXX.com/privkey1.pem
ubuntu@bluehorse:/etc/letsencrypt$
야호~
인증서 만료일시를 확인하는 방법이라고 하는데 저는 안먹히네요 그러나 상관없습니다. 하하
아마도 certbot-auto로 설치한 것이 아니라 snap으로 설치해서 방식이 좀 다르지 않나 생각이 듭니다.
ubuntu@bluehorse:/usr/bin$ /home/ubuntu/certbot-auto certificates
Requesting to rerun /home/ubuntu/certbot-auto with root privileges...
Skipping bootstrap because certbot-auto is deprecated on this system.
WARNING: couldn't find Python 2.7+ to check for updates.
Your system is not supported by certbot-auto anymore.
Certbot cannot be installed.
Please visit https://certbot.eff.org/ to check for other alternatives.
여기 부분이 상당한 삽질이 들어간 부분입니다.
아직도 아찔하네요 그나마 빨리 해결된 편입니다. ㅠ
제가 snap으로 설치한 certbot의 버전은 아래와 같습니다.
ubuntu@bluehorse:~$ /usr/bin/certbot --version
certbot 1.21.0
ubuntu@bluehorse:~$
(update) 현재 시점에서 certbot 자동설치 버전이 2.X로 올라왔기에
ubuntu@instance:~$ /usr/bin/certbot --version
certbot 2.2.0
ubuntu@instance:~$
만약 설치된 certbot 이 2.X 이상이라면
아래서 설정으로 최종으로 브라우져에서 보면
이 메시지로 에러가 발생합니다.
ERR_SSL_VERSION_OR_CIPHER_MISMATCH
이것을 방지하기 위해 한가지 추가해 주어야 합니다. (바로 tls 버전)
ubuntu@instance:/etc/nginx/snippets# ls -rlat
total 24
-rw-r--r-- 1 root root 217 Apr 6 2018 snakeoil.conf
-rw-r--r-- 1 root root 422 Apr 6 2018 fastcgi-php.conf
-rwxrwxr-x 1 root ubuntu 107 Jan 27 20:40 letsencrypt.conf
drwxr-xr-x 8 root root 4096 Jan 27 20:50 ..
-rw-r--r-- 1 root root 594 Jan 27 21:35 ssl.conf
drwxr-xr-x 2 root root 4096 Jan 27 21:35 .
ssl.conf를 열고 아래와 같이 수정해 줍니다.
(기존)
ssl_protocols TLSv1 TLSv1.1 TLSv1.2
(아래와 같이 추가)
TLSv1.3 추가해 주어야 브라우져에서 에러가 발생하지 않습니다. (중요!)
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
(Let's Encrypt SSL 인증서 갱신)
이부분은 아주 급한 부분은 아니지만 설정이라는 것이 안하고 놔두면 한참 까먹거던요
미리 설정을 고려해서 세트해보았습니다.
우선 루트 계정으로 변경 후 crontab에 해당되는 작업을 배치잡으로 등록하겠습니다.
sudo su
crontab -e
no crontab for root - using an empty one
Select an editor. To change later, run 'select-editor'.
1. /bin/nano <---- easiest
2. /usr/bin/vim.basic
3. /usr/bin/vim.tiny
4. /bin/ed
Choose 1-4 [1]: 1
crontab 사용법은 간단하게
분(0~59) 시간(0~23) 일(1~31) 월(1~12) 요일(0~6 : 0은 일요일, 6은 토요일) 실행명령
이렇게 구성됩니다.
첫번째는 예를 들어 매일 새벽 2시에 certbot을 실행하여 갱신을 성공적으로 끝내면 그후에 nginx서버를 재시동
(--renew-hook 은 인증서갱신후, --pre-hook 인증서갱신전의 뜻임)
두번째는 매주 월요일 새벽 4시에 서버를 리부팅
0 2 * * * /home/ubuntu/certbot-auto renew --renew-hook "sudo service nginx restart"
0 4 * * 1 root shutdown now -r
그러나 이부분은 현재는 /home/ubuntu/certbot-auto는 정상적으로 설치가 되지 않고, snap형태로 설치를 하여
ubuntu@bluehorse:~$ /home/ubuntu/certbot-auto
Requesting to rerun /home/ubuntu/certbot-auto with root privileges...
Skipping bootstrap because certbot-auto is deprecated on this system.
WARNING: couldn't find Python 2.7+ to check for updates.
Your system is not supported by certbot-auto anymore.
Certbot cannot be installed.
Please visit https://certbot.eff.org/ to check for other alternatives.
ubuntu@bluehorse:~$
명령어가 먹질 않고 있어서 추후에 인증서 갱신부분은 천천히 다시 봐야 할 거 같습니다.
그다음은 SSL 인증서를 감사하게 받았기 때문에
웹서버 nginx에 적용해 보는 것입니다.
인증서를 적용하기 위해서 openssl을 이용하여 dhparam을 암호화합니다.
sudo openssl dhparam -out /etc/nginx/dhparam.pem 4096
수행시간이 거의 20분 넘는 거 같습니다. (다른 용무를 보셔도 될 정도입니다.)
Generating DH parameters, 4096 bit long safe prime, generator 2
This is going to take a long time
..............................+...................................................
............................+.....................................................
..................................................................................
....+..+............................+.............................................
..................................................................................
..................................................................................
.........................+........................................................
...........................................................+......................
설치가 진행되는 동안 snap으로 설치한 것에 대해 내용을 정리해보았습니다.
(snap설치에 대한 참고사항)
여기서 한가지 snap에 대해 참고해야 할 부분이 있어서 참고사항을 기술합니다.
신규서버를 세팅하고 SSL추가 할때 아래와 같은 certbot-auto가 작동하지 않습니다.
Skipping bootstrap because certbot-auto is deprecated on this system.
Your system is not supported by certbot-auto anymore.
Certbot cannot be installed.
Please visit https://certbot.eff.org/ to check for other alternatives.
certbot-auto는 실행할 때 마다 자동 업데이트를 하는데 1.11버전이 되는 경우 발생하는 메시지입니다.
해결을 위해 링크를 리서치해보면 snap을 이용해 설치하라고 합니다.
snap은 yum이나 apt-get 같은 패키지 관리툴입니다.
centos 7이나 8이 epel-release가 설치되어 있다면 yum으로 snap을 설치할 수 있습니다.
yum install snapd
ln -s /var/lib/snapd/snap /snap
systemctl enable --now snapd.socket
snap install core
snap refresh core
이후 snap을 이용해서 certbot을 설치합니다.
여기서 기존의 yum이나 apt-get으로 설치된 certbot은 삭제하고 진행해야 함
snap install --classic certbot
ln -s /snap/bin/certbot /usr/bin/certbot
certbot --version
certbot 1.14.0
### 버전이 확인 되지 않는 경우 아래와 같이 심볼릭 링크를 추가 해야 한다.
ln -s /usr/bin/snap /var/lib/snapd/snap/bin/certbot
/usr/bin 안으로 해당 certbot 링크를 생성하기 때문에 SSL 발급/삭제를 위해서는 아래 명령어를 실행
certbot certonly --server https://acme-v02.api.letsencrypt.org/directory \
--rsa-key-size 4096 --agree-tos --email 이메일@주소 --webroot -w /var/www/html \
-d www.도메인 -d 도메인
certbot revoke --cert-path /etc/letsencrypt/live/도메인/cert.pem
위의 스크립트에서 에러가 나면 아래 스크립트로 대체하세요
sudo certbot certonly --webroot --agree-tos --no-eff-email --email 이메일주소 -w /var/www/letsencrypt -d 도메인주소 -d www.도메인주소
snapd에서 sequence기능으로 설치되는 패키지를 자동으로 최신업데이트를 하는데
발급된 인증서의 renew 역시 자동으로 처리 (/var/lib/snapd/sequence/certbot.json)
- 기존에 git에서 clone 으로 사용한 경우 삭제 필요는 없고 renew인 경우 메세지 나오지만 갱신하는데 문제 없다?
- snap설치가 되지 않는 리눅스의 경우는 certbot-auto 구버전(1.9.0.dev0)의 실행파일만 overwrite하고 renew실행
acme api를 이용하는 bash, dash, sh 비공식 호환 스크립트를 참고하세요
https://github.com/acmesh-official/acme.sh
(snap설치에 대한 참고사항 끝)
(추가 - SSL 인증서 발급에 대한 참고사항)
해당 내용에 대해서 한가지만 기록으로 남깁니다.
SSL 인증서 발급에 실행된 삽질 중에 아래에 히스토리는
(실패)
/home/ubuntu/certbot-auto certonly --webroot --agree-tos --no-eff-email --email 이메일주소 -w /var/www/letsencrypt -d 도메인명 -d 도메인명(www포함)
(성공)
$ sudo certbot certonly --webroot --agree-tos --no-eff-email --email 이메일주소 -w /var/www/letsencrypt -d 도메인명 -d 도메인명(www포함)
* 인증서 갱신이 필요한데 안될 경우 이 스크립트로 성공할 수 있습니다. (아래 스크립트 카피해서 넣으세요)
sudo certbot certonly --webroot --agree-tos --no-eff-email --email 이메일주소 -w /var/www/letsencrypt -d 도메인주소 -d www.도메인주소
(참조)
certbot certonly --server https://acme-v02.api.letsencrypt.org/directory --rsa-key-size 4096 --agree-tos --email 이메일@주소 --webroot -w /var/www/html -d www.도메인 -d 도메인
헉헉~ 힘드네요
아마도 SSL 인증 만료 시점에 다시 이글을 보러 제가 찾아오지 않을까 생각이 드네요 ;;
다시 이어서 계속해서 진행하겠습니다.
Generating DH parameters, 4096 bit long safe prime, generator 2
This is going to take a long time
..............................+...................................................
............................+.....................................................
..................................................................................
....+..+............................+.............................................
..................................................................................
..................................................................................
.........................+........................................................
...........................................................+......................
이렇게 진행바(?)가 진행되면서 마지막으로는
........+.........................................................................
..........................................................+.......................
................................................................+...+.............
................+.....................+...........................................
........................................................++*++*++*
++*++*++* <= 이게 보이면 끝입니다.
이게 모라고 ㅠ
자~ dhparam.pem이 이와같이 생성되었다면 이제는 ssl.conf를 생성해야 합니다.
sudo touch /etc/nginx/snippets/ssl.conf
sudo chmod 777 /etc/nginx/snippets/ssl.conf
ssl.conf에 보안설정 스크립트를 입력하기 위한 절차입니다.
/etc/nginx/snippets/ 로 가서 ssl.conf를 nano로 열어보겠습니다.
sudo nano /etc/nginx/snippets/ssl.conf
그곳에 아래의 내용을 카피하고 붙여 넣습니다.
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_dhparam /etc/nginx/dhparam.pem;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
ssl_ecdh_curve secp384r1;
ssl_prefer_server_ciphers on;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4;
add_header Strict-Transport-Security "max-age=15768000; includeSubdomains; preload";
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options "SAMEORIGIN";
이렇게 되면 ssl.conf가 완성이 되었습니다.
이제 아무도 접근하지 못하게 권한 설정을 막겠습니다.
sudo chmod 644 /etc/nginx/snippets/ssl.conf
이제 마지막으로 nginx 에 라우팅을 적용하도록 하겠습니다.
HTTPS가 적용된 도메인으로 웹서버를 운영하기 위해서 /etc/nginx/sites-available/default 파일을 수정합니다.
SFTP등을 이용해서 많은 스크립트 내용을 overwrite해야겠습니다.
제가 추천한 SSH 프로그램 (MobaXterm) 이나 파일질라 도 좋고요
인증서 작업은 오타가 나오면 안됩니다. 꼬입니다. 삽질이 끝이 안납니다
안전하게 카피 앤 페이스트 (copy & paste) 추천합니다. (복사붙여넣기 = 복붙 하시라고요)
/etc/nginx/sites-available/default 에 기존내용 대신에 아래내용을 엎어씁니다. 몽땅 다~~~ (헐~)
도메인 부분만 본의 도메인으로 바꾸어 주세요 (하기에 XXXX.com 라는 도메인으로 표기)
# Default HTTPS server configuration
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name XXXX.com;
ssl_certificate /etc/letsencrypt/live/XXXX.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/XXXX.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/XXXX.com/fullchain.pem;
include /etc/nginx/snippets/ssl.conf;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
location / {
try_files $uri $uri/ =404;
if (!-e $request_filename) {
rewrite ^.*$ /index.php last;
}
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_read_timeout 300;
}
location ~ /\.ht {
deny all;
}
}
# HTTPS www. server configuration
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name www.XXXX.com;
ssl_certificate /etc/letsencrypt/live/XXXX.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/XXXX.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/XXXX.com/fullchain.pem;
include /etc/nginx/snippets/ssl.conf;
location / {
return 301 https://XXXX.com$request_uri;
}
}
# Default server configuration
server {
listen 80;
listen [::]:80 default_server;
server_name XXXX.com;
include /etc/nginx/snippets/letsencrypt.conf;
location / {
return 301 https://XXXX.com$request_uri;
}
}
# HTTP - CNAME Connect www.XXXX.com to XXXX.com
server {
listen 80;
listen [::]:80;
server_name www.XXXX.com;
include /etc/nginx/snippets/letsencrypt.conf;
location / {
return 301 https://www.XXXX.com$request_uri;
}
}
정말 마지막으로 설정으로 적용하기 위해서
다시 한번 nginx를 restart 합니다. (서버 리부트 아닙니다 ㅎ)
sudo nginx -t 는 왜 실행하는지 아시죠? (수정한 conf 파일등이 오타등의 정합성을 확인)
ubuntu@bluehorse:/etc/nginx/sites-available$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
ubuntu@bluehorse:/etc/nginx/sites-available$sudo service nginx restart
이제 해당되는 도메인 주소로 브라우져를 여시면 아까와는 조금 다른 그 자물쇄가 보일 것입니다.
자물쇄를 찍어보세요
드디어 흑~ ㅠ 끝났다
(추가사항) 인증서 갱신 작업에 필요한 상세 내용
letsencrypt 인증서는 3개월마다 갱신을 시켜주어야 합니다. 현재는 3개월 후에 해당 도메인 페이지에
NET::ERR_CERT_DATE_INVALID
다음과 같은 에러가 발생을 하였고 해당 페이지에 접속을 할수가 없는 상태입니다.
한마디로 인증서 만료라는 이야기 이지요
아래와 같이 인증서 갱신서 작업을 해주어야 합니다.
1) 기존 인증서 삭제 ( 이 삭제 단계를 넘어가서 2번으로 renew 과정으로 가도 됩니다. 굳이 삭제 안해도 됨)
sudo certbot revoke --cert-path /etc/letsencrypt/live/도메인/cert.pem
2) 새로운 인증서 생성 (renew)
sudo certbot certonly --webroot --agree-tos --no-eff-email --email 이메일주소 -w /var/www/letsencrypt -d 도메인주소 -d www.도메인주소
renew 과정인 경우 명령어 실행후 아래 경과를 볼 수 있습니다. (renew인 경우는 2번 선택)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
An RSA certificate named jivepia.com already exists. Do you want to update its
key type to ECDSA?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(U)pdate key type/(K)eep existing key type:
암호화 키타입을 보통 RSA를 사용하도록 되어 있는데
추가로 간혹 위의 문구가 나오면
(U)pdate Key를 선택하면 RSA->ECDSA로 변경되고
(K)eep 을 선택하면 기존의 RSA를 계속 사용하는 것이다.
어떤 암호 키타입을 선택할지는 추가로 인터넷에서 찾아보길 추천한다. (그러나 2개중 대충 아무거나)
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Certificate not yet due for renewal
You have an existing certificate that has exactly the same domains or certificate name you requested and isn't close to expiry.
(ref: /etc/letsencrypt/renewal/jivepia.com.conf)
What would you like to do?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: Keep the existing certificate for now
2: Renew & replace the certificate (may be subject to CA rate limits)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Renewing an existing certificate for 도메인주소이름 and www.도메인주소이름
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/도메인주소이름/fullchain.pem
Key is saved at: /etc/letsencrypt/live/도메인주소이름/privkey.pem
This certificate expires on 2022-08-20.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
* Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
* Donating to EFF: https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
3) nginx 재기동
sudo service nginx restart
이렇게 하면 다시 해당 도메인 페이지가 짠~ 하고 다시 보일것입니다. (그러나 유효기간은 다시 3개월입니다.)
(참고) 무료클라우드에 대한 벤더별 비교 영상은 아래를 확인해 보세요
'클라우드노트 > 오라클클라우드(OCI)' 카테고리의 다른 글
(8) 오라클 클라우드에서 무료로 사용하는 워드프레스, DB 백업과복구 (0) | 2021.11.30 |
---|---|
(7) 오라클 클라우드에서 사용하는 워드프레스(wordpress) 설정 (0) | 2021.11.30 |
(5) 오라클 클라우드에서 도메인 설정, 샌드메일 설치 (3) | 2021.11.30 |
(4) 오라클 클라우드에서 MariaDB, phpMyAdmin 설치 (2) | 2021.11.29 |
(3) 오라클 클라우드에서 ubuntu, nginx, PHP7 설정 (0) | 2021.11.29 |
댓글