본문 바로가기
공부/프로그래밍

[centos7] HTTPS 무료 인증설치방법(--manual 옵션 사용)

by demonic_ 2019. 4. 22.
반응형

--manual 옵션을 사용하지 않고 하는방법은 이전 포스팅에서 해두었다.

이전포스팅 방법이 안될 경우 이번 포스팅을 추천한다

https://lemontia.tistory.com/697

 

[Linux-centos7] HTTPS 무료 인증서 설치 및 설정 방법(certbot 사용, apache)

### certbot 을 다운로드 및 실행. wget https://dl.eff.org/certbot-auto # certbot-auto 가 설치된 디렉토리에서 아래의 명령어를 실행합니다. 실행 후에는 /etc 폴더내에 letsencrypt 파일이 생성되므로 root..

lemontia.tistory.com

 

이전 방법과 같이 certbot 이 있어야 한다. 없으면 다음방법으로 다운로드 받는다.

wget https://dl.eff.org/certbot-auto

chmod a+x certbot-auto
./certbot-auto

다음의 명령어를 이용해 설정을 시작한다

./certbot-auto certonly --manual --email [이메일] -d [도메인]

위와같이 명령어를 하게되면 질문을 하게 되는데 Agree를 눌러주면 다음과 같은 화면이 뜬다.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Create a file containing just this data:

XFWbgceOCx-3NZc36uRQTtAclpZv9i-yhDyYnhkPR5s.lLIPvOSu22UsRTUocW42u_4Nw4e1n4etHwV71QK3foc

And make it available on your web server at this URL:

http://[도메인]/.well-known/acme-challenge/XFWbgceOCx-3NZc36uRQTtAclpZv9i-yhDyYnhkPR5s5s

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue

위의 내용은 .well-known/acme-challenge/[임의생성값] 을 호출할 때 다음의 값이 리턴되어야 한다

XFWbgceOCx-3NZc36uRQTtAclpZv9i-yhDyYnhkPR5s.lLIPvOSu22UsRTUocW42u_4Nw4e1n4etHwV71QK3foc

무시하고 그냥 Enter를 누르면 다음과 같은 에러가 난다.

Press Enter to Continue
Waiting for verification...
Challenge failed for domain [도메인]
http-01 challenge for [도메인]
Cleaning up challenges
Some challenges have failed.

IMPORTANT NOTES:
 - The following errors were reported by the server:

   Domain: [도메인]
   Type:   unauthorized
   Detail: Invalid response from
   http://[도메인]/.well-known/acme-challenge/cTQ52iFdSr-X3DL5X9yVvkt5sL-LU0kB54UCUYC_uG4
   [IP]: "<html>\r\n<head><title>404 Not
   Found</title></head>\r\n<body>\r\n<center><h1>404 Not
   Found</h1></center>\r\n<hr><center>nginx/1.15.8</ce"

   To fix these errors, please make sure that your domain name was
   entered correctly and the DNS A/AAAA record(s) for that domain
   contain(s) the right IP address.

404 에러가 나면서 허용이 안된것을 알 수 있다. 그래서 해당 URL을 호출하게 될때 리턴할 수 있도록 파일을 설정해 주어야 한다.

인증을 받을때마다 임의값이 변경되기 때문에 내 경우 Enter를 누르기 전까지 진행한 다음 생성값을 참조하여 파일을 만들어야 한다.


여기서는 nginx를 사용하기 때문에 nginx 설정을 수정하였다.

location ^~ /.well-known/acme-challenge/ {
   default_type "text/plain";
   root     /usr/share/nginx/html;
}

/usr/share/nginx/html 에다가 폴더 및 파일을 만든다

mkdir .well-known/acme-challenge
vi XFWbgceOCx-3NZc36uRQTtAclpZv9i-yhDyYnhkPR5s5s

파일안에 다음을 입력한다

XFWbgceOCx-3NZc36uRQTtAclpZv9i-yhDyYnhkPR5s.lLIPvOSu22UsRTUocW42u_4Nw4e1n4etHwV71QK3foc

확실하게 하기 위해 브라우저로 접속하여 해당 메세지를 받는지 확인한다

http://[도메인]/.well-known/acme-challenge/XFWbgceOCx-3NZc36uRQTtAclpZv9i-yhDyYnhkPR5s5s

이제 Enter를 눌러 인증을 받는다

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Create a file containing just this data:

XFWbgceOCx-3NZc36uRQTtAclpZv9i-yhDyYnhkPR5s.lLIPvOSu22UsRTUocW42u_4Nw4e1n4etHwV71QK3foc

And make it available on your web server at this URL:

http://[도메인]/.well-known/acme-challenge/XFWbgceOCx-3NZc36uRQTtAclpZv9i-yhDyYnhkPR5s

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue
Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/[도메인]/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/[도메인]/privkey.pem
   Your cert will expire on 2019-07-20. 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

 

 

자동인증서 갱신은 다음과 같이 설정하면 된다.

해당 인증서는 만료일이 90일이므로 매월 1일에 실행시킨다.

mv ~/certbot-auto /bin
vi /etc/crontab
30 3 1 * * root /bin/certbot-auto renew >> /var/log/ssl-renew.log
service crond restart

# 확인
ps -ef | grep cron

완료

반응형

댓글