SSL 인증서 무료 받아 사용하기 - 자동 업데이트(인증서 자동 갱신) > 리눅스서버
리눅스서버

SSL 인증서 무료 받아 사용하기 - 자동 업데이트(인증서 자동 갱신)

조회 2,310회 댓글 0건

무료로 3개월 사용할 수 있는 SSL 인증서 입니다.

아래 옵션에서 --manual  들어간것은 생성은 잘 되지만 자동 갱신이 안되기 때문에 없는 옵션을 사용해서 생성해야 자동 갱신이 됩니다.


# 1) 참고한 사이트

https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/SSL-on-amazon-linux-2.html#letsencrypt

yum install -y certbot python2-certbot-apache


# 아래는 와일드카드 인증서 받는 법.

https://devlog.jwgo.kr/2019/04/16/get-ssl-cert-from-letsencrypt/


# 와일드카드 인증서 받는 방법.

https://hiseon.me/server/letsencrypt-wildcard-certificate/


# 아파치 인증서 적용방법.

https://hiseon.me/server/letsencrypt-ssl-certificate/


* 어떤 것이든 뭐라도 하나 더 붙으면 다른것이다.

초보자가 착각할 수 있는 부분인데. 또는 일반이거나. 앞에 www 붙은것과 아무것도 없는 도메인은 다른것이다.

의미 없는 0이 하나 더 붙은 천만원과 1억은 다른것이다.


* 웹서버에 추가해 준다.

  SSLCertificateFile      "/etc/letsencrypt/archive/도메인/cert1.pem"

  SSLCertificateKeyFile   "/etc/letsencrypt/archive/도메인/privkey1.pem"

  SSLCertificateChainFile "/etc/letsencrypt/archive/도메인/fullchain1.pem"


● 인증서 받기
certbot -d 도메인 -d www.도메인 


* 아파치 환경설정 방식

웹루트 방식은 404 나오지 않도록. 디렉토리 및 접근이 가능해야 되면 아래와 같은 방식으로도 받을 수 있습니다.

아래 명령 후 3가지 물어봤을 때 1번 아파치 웹서버 선택하면 됩니다.

certbot --register-unsafely-without-email certonly -d "pabburi.co.kr" -d "www.pabburi.co.kr"

1: Apache Web Server plugin (apache)

2: Spin up a temporary webserver (standalone)

3: Place files in webroot directory (webroot)


● 와일드카드 인증서 받기

추가적인 비용이 들어가는 것이 아니라 무료 인증서 이기 때문에 큰 문제가 되지 않으면 도메인을 추가 할때 설정 필요 없는 와일드카드 방식을 사용 하곤 합니다.

네임서버에서 TXT 레코드로 _acme-challenge 추가해 줘야 합니다. - 네임서버를 통해서만 가능 합니다. - 

와일드 카드이면 아래 처럼 두개 들어갑니다. 기본적인것 1개 그리고 * 들어간것 1개

- 아래는 자동갱신이 안됩니다. Route53 라이브러리가 있기는 하던데요. 꼭 필요하신분은 AWS 인증키 넣고 하는 방법 찾아 보시면 됩니다.

certbot --register-unsafely-without-email certonly --manual --preferred-challenges dns -d "*.도메인" -d "도메인" 


● 확인하는 디렉토리

/etc/letsencrypt/archive/도메인

위처럼 디렉토리를 확인화여 간단하게 보거나 아래 명령으로 자세히 볼 수 있습니다.

아래 명령으로 나온 Certificate Name 이름으로 아래 revoke 해지명령의 옵션인 --cert-name 으로 사용 하면 됩니다.

certbot certificates 


● 삭제

삭제만 되는것이지 초기화 되는 것은 아니다. 아래 명령을 내리면 해당 목록이 나오며 번호로 선택하여 삭제 할 수 있다.

certbot delete


● 해지명령

임의 파일을 삭제 하지 말고 이 명령을 사용 해야 합니다.

이름을 어떤것 넣어야 할지 남감할 텐데요. /etc/letsencrypt/renewal/ 이 안에 있는것을 넣으시면 됩니다. .conf 제외한것

 certbot revoke --cert-name pabburi.co.kr


● 재계약하기

certbot renewal


● 웹루트 인증 방식(일반적으로 이 방식을 사용)

실행하는곳에 웹서버가 같이 있어야 합니다. 도메인에 대한 웹서버가 있어야 된다는 의미 입니다.

확인하려 들어 올때는 http 로 들어 옵니다. 

즉, http 에도 설정이 되어 있어야 인식이 된다는 의미 인데요. 오류가 나면 보여주기 때문에 보면 http 임을 알 수 있습니다.

certbot --register-unsafely-without-email certonly --webroot --webroot-path /웹루트경로/public_html -d "도메인.co.kr" -d "도메인"


예를 들면 다음과 같이 실행하면 자동으로 받아집니다.

아래처럼 --manual 이 옵션이 들어가지 않아야 자동 갱신 됩니다.

certbot --register-unsafely-without-email certonly --webroot --webroot-path /home/pabburi/public_html -d "www.pabburi.co.kr" -d "pabburi.co.kr" 

위처럼. 도메인이 2개 이상이 들어갔을때 어떤 도메인으로 디렉토리가 생성되느냐에 대한 문제가 있으니 필요시 반드시 확인이 필요하며 제 경우는 보통 앞쪽에 있는것으로 생성 되었습니다.



실패는 1간당 5회인데 자세한 것은 아래 사이트에서 확인이 가능 하다

https://letsencrypt.org/docs/rate-limits/


------------ 아래는 스케줄에 넣는것 ------------

39 1 * * * root certbot renew --no-self-upgrade


로그를 확인해 보니 실행이 안된것은 아니었다ㅣ

Jul 11 13:39:01 서버명 CROND[23216]: (root) CMD (root certbot renew --no-self-upgrade)



----- 아래는 갱신하면서 추가 사항 입니다. -----

결국은 갱신이 아니라 다시 받았습니다.

* 수동으로 인증 받기

--manual 옵션을 넣어줘야 인증키에 해당하는 것을 볼 수 있습니다.

더불어 갱신할때 오류가 발생하는데 인증서 받을때 어떤 방식으로 받았는지 적어 두는것이 좋습니다.

웹서버를 통한인증 이었는지 DNS 였는지 ... 3개월쯤 되어서 적어 둔게 없으면 어렵습니다.


아래 방식은 --manual 옵션으로 인해 자동으로 갱신이 안됩니다.

[root@pabburi /home/pabburi/public_html] certbot --register-unsafely-without-email --manual certonly -d "pabburi.com" -d "www.pabburi.com"     

Saving debug log to /var/log/letsencrypt/letsencrypt.log

Plugins selected: Authenticator manual, Installer None

Requesting a certificate for pabburi.com and www.pabburi.com

Performing the following challenges:

http-01 challenge for pabburi.com


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Create a file containing just this data:


1fm-gB1uVKeObMI0Xc6pyNO123xjZ6sJ_IFCR6fAghQ.dFpzsDiZz7CVojyxnC23_v9vhN2AZgEPlSrHxjfRIWI


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


http://pabburi.com/.well-known/acme-challenge/1fm-gB1uVKeOb234Xc6pyNOBAdxjZ6sJ_IFCR345ghQ


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

위와 같이 나오면 해당 위치에 파일을 생성해 주면 됩니다.

echo '1fm-gB1uVKeObMI0Xc6pyNO123xjZ6sJ_IFCR6fAghQ.dFpzsDiZz7CVojyxnC23_v9vhN2AZgEPlSrHxjfRIWI' > /home/pabburi/public_html/.well-known/acme-challenge/1fm-gB1uVKeOb234Xc6pyNOBAdxjZ6sJ_IFCR345ghQ



* 추가사항 - https 자동전환 설정 문제

https로 전환을 해야 되어 아파치 환경설정에서 Rewrite 룰을 설정해 놓았으면 위 http 인증 방식으로 문제가 된다.

이럴때는 아래를 추가하여 예외 디렉토리를 넣어 주면 해결이 된다.

  RewriteRule ^/.well-known/acme-challenge/ - [L] 


* 자동 연장을 할 때 아래와 같은 오류가 발생하는 이유는 생성할때 --manual 옵션을 주었기 때문입니다. 

즉, 자동으로 갱신을 하기 위해선 이 옵션을 주면 안되고 웹루트 경로를 준다음 생성해야 됩니다.

Failed to renew certificate ohomall.co.kr with error: The manual plugin is not working; there may be problems with your existing configuration.

The error was: PluginError('An authentication script must be provided with --manual-auth-hook when using the manual plugin non-interactively.',)

https://satisfactoryplace.tistory.com/309

https://joanne.tistory.com/271






  • 페이스북으로 공유
  • 트위터로  공유
  • 구글플러스로 공유
전체 163건 1 페이지
  • profile_image MySQL에서 트리거(trigger)는 특정 테이블에 대해 INSERT UPDATE DELETE와 같은 DML(데이터 조작 언어) 작업이 수행될 때 자동으로 실행되는 프로시저입니다. 트리거는 데이터의 무결성을 유지하거나 로깅 감사 등의 목적으로 사용될 수 있습니다. 트리거는 데이터베이스가 특정 조건에 반응하여 자동으로 특정 작업을 수행하도록 할 때 유용합니다.▷ 트리거의 주요 특징- 자동 실행: 트리거는 관련 테이블에 특정 DML 작업이 수행될…
  • profile_image 왜래키는 잘 쓰면 보약이고 잘못하면 관련된 테이블 모두 확인 하느라 부하가 심해진다.그래서 무조건 쓰지 못하게 하는곳도 있는 실정이다. 사실 우리가 그런부분이 있다.사이트의 부하가 많지 않다면 사용하는것을 권장 하는데 문제가 될일이 별로 없기 때문에 그렇다. 외래키는 두 테이블 간의 관계를 정의하는 데 사용 되는 것으로 보통 부모 테이블과 자식 테이블 간의 관계를 나타내는 데에 사용됩니다.1. 관계 정의  외래키는 부모 테이블의 기본 키(pri…
  • profile_image 리눅스에서 OpenSSL을 사용해 생성한 사설 인증서의 유효 기간을 확인하려면 터미널에서 OpenSSL 명령어를 사용 하면 된다.아래 openssl 명령어를 사용해 인증서의 유효 기간을 확인할 수 있다.openssl x509 -in [인증서 파일 경로] -noout -datesopenssl x509 -in mycert.pem -noout -datesopenssl x509 -in rootCA.crt -noout -datesopenssl x509 …
  • profile_image OpenSSL로 인증서 생성시 -days 36500 = 100년 옵션을 사용해서 유휴기간을 길게 준다. 우선 만료 되는 기간을 길게준 다음 후에 사용할 계획이 없으면 사용하지 않으면 되기 때문이다.지난것을 경고 무시하고 사용하는것 보다는 이편이 더 좋을것이다.아래는 간단하게 개인 인증서 생성하는 방법이며두번째 csr 생성할때 입력 해야 하는것이 잇는데 아래처럼 입력하면 되며 비밀번호는 넣지 않아도 된다.(비밀번호 넣으면 다음에 진행할때 같이 넣…
  • profile_image DKIM, SPF, 및 DMARC는 이메일을 보다 안전하게 하고, 스팸이나 피싱 공격을 방지하기 위해 사용되는 이메일 인증 메커니즘들입니다.공통적으로 네임서버 설정을 해줘야 하는 것들이다.DKIM (DomainKeys Identified Mail)DKIM은 발신자의 도메인이 실제로 해당 이메일을 보냈다는 것을 증명하기 위해 디지털 서명을 사용합니다.이메일 발송자는 이메일의 헤더에 디지털 서명을 추가하고, 이 서명은 발신자의 도메인에 공개적으로 …
  • profile_image 리눅스에서 디스크 사용량이 많은 프로그램을 찾기 위해서는 주로 du (Disk Usage) 명령어를 사용합니다. du 명령어는 디렉토리나 파일이 사용하는 디스크 공간의 양을 확인할 때 사용됩니다. du 명령의 기본적인 사용 방법 전체 사용량은 df 명령을 사용하지만 하위 디렉토리의 사용량을 보려면 du 명령을 사용 합니다. 운영하다 보면 어느곳에서 사용을 많이 하는지 알기 위해 은근히 많이 사용 되는 명령 입니다. 특정 디렉토리의 사용량을 확…
  • profile_image 디스크 I/O 부하를 많이 주는 프로그램 확인 디스크 I/O 부하를 많이 주는 프로그램을 찾으려면 iotop이라는 도구를 사용 하면 되며 이 도구는 각 프로세스의 I/O 사용량을 실시간으로 모니터링하며, 높은 I/O 사용량을 가진 프로세스를 쉽게 찾을 수 있도록 도와준다. io를 보는데는 iostat 도 있고. vmstat 1 명령으로 CPU 부하와 같이 쓰기나 읽기가 어느정도 인지 보는 방법도 있는데 iotop을 사용하면 프로그램 까지 알…