Cent OS에서 Nginx SSL 인증서 적용하기.(Let's Encrypt)

profile
title: AMD달소

 

이번에는 앞서 설치한 Cent OS Nginx에 SSL 인증서를 적용해보겠습니다.

 

적용할 SSL 인증서는 Let's Encrypt 로 3개월마다 인증서를 갱신해야하지만 무료로 와일드카드 인증서까지 적용할 수 있다는점에서

 

홈서버를 운영하는 입장에서는 필수적으로 진행하셔야합니다.

 

사전환경

오라클 Cent OS 7

Nginx 1.20

도메인 필요(duckdns도 가능)

 

  안녕하세요. 오랜만에 Cent OS 관련글입니다.   올리고당님 요건을 테스트하면서 하나씩 글을 남겨봅니다 ㅎ   저는 개...
달소 | 2021.07.21
이번에는 서버와 도메인을 연결해주는 DNS연결하는 방법입니다. 저는 GCP와 오라클 클라우드등에서 서버를 운영할때 편하게 사용하고있습니다.   &n...
달소 | 2021.03.31

 

 

1. Certbot 설치하기

nginx용 certbot를 설치해주겠습니다. 위부터 아래대로 명령어를 써주세요.

 

yum install epel-release

yum install certbot-nginx

 

image.png.jpg

 

설치 완료 후에는 certbot --version 로 설치를 확인할 수 있습니다.

 

image.png.jpg

 

Nginx 설정하기

이제 앞서 Nginx 설정에 도메인을 넣어주겠습니다.

저는 dalblog.duckdns.org 를 사용하겠습니다.

 

vi /etc/nginx/nginx.conf

 

image.png.jpg

 

에서 server 에 도메인을 넣어주세요.

 

image.png.jpg

 

적용 후 nginx -t 로 nginx 설정을 테스트하고 service nginx reload 로 리로드 시켜주면됩니다.

 

image.png.jpg

 

방화벽 설정하기.

앞서 nginx의 80번 포트를 오픈했던거와 같이 443포트도 오픈해주면 됩니다.

 

firewall-cmd --permanent --add-port=80/tcp

firewall-cmd --permanent --add-port=443/tcp

iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT

iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT

 

image.png.jpg

image.png.jpg

SSL 인증서 발급하기

아래와같은 명령어로 진행해주시면 되는데 -d 마다 도메인을 추가해주시면됩니다.

 

certbot --nginx -d example.com -d www.example.com 

 

 

image.png.jpg

image.png.jpg

 

동일하게 nginx -t / service nginx reload 로 전체적으로 재시작 시켜주고 다시 웹으로 접근하면 아래처럼 잘됩니다.

 

image.png.jpg

 

https://www.ssllabs.com/ 에서도 SSL인증서 적용을 확인할 수 있습니다.

Bringing you the best SSL/TLS and PKI testing tools and documentation.

 

 

image.png.jpg

 

인증서 자동갱신

앞서 말씀드렸듯 인증서의 경우 90일 동안 유지됩니다.

수동으로 동일하게 진행해주셔도 되지만 crontab에 내용을 추가해서 자동으로 진행하게해주셔도됩니다.

 

아래 명령어는 renew 테스트 명령어이며 아래처럼 성공하면 그대로 crontab에 내용을 추가해주시면됩니다.

 

certbot renew --dry-run

 

image.png.jpg

 

매일 6시에 인증서를 갱신하라는 명령어로 --quiet를 통해 입력값을 받지않도록 설정합니다.

 

vi /etc/crontab

 

0 6 * * * /usr/bin/certbot renew --quiet

image.png.jpg

 

값을 넣고 service crond restart

 

위 과정대로 진행해주시면 아마 큰문제는 없으실거라고 생각합니다.

안되신다면 댓글에 증상 및 스크린샷, 로그정보를 남겨주셔야 트러블슈팅이 가능합니다.

 

 

 

댓글
3
  • 올리고당
    2021.07.21

    2. Strong Dh(Diffie-Hellman) 그룹 생성

    1) 개요 : DH(Diffie-Hellman 키 교환)는 보안되지 않은 통신 채널을 통해 암호화 키를 안전하게

    교환하는 방법입니다. 다음 명령을 입력하여 새 2048비트 DH 매개변수 집합을 생성

    합니다. 원하는 경우 크기를 최대 4096비트까지 변경할 수 있지만 이 경우 시스템

    엔트로피에 따라 생성 시간이 30분 이상 걸릴 수 있습니다.

    2) 명령어 : openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

     

    달소님 방법에 이부분만 추가해서 해도 될런지요? 이부분이 좀 맘에 들어서 적용할려고 하거든요.

     

     

  • 올리고당
    달소
    작성자
    2021.07.21
    @올리고당 님에게 보내는 답글

    네 그부분은 해도되고 안해도되는부분입니다.

    요즘은 기본인증서가 RSA 2048 로 나와서 동일해서요

  • 올리고당
    달소
    @올리고당 님에게 보내는 답글

    이런식으로 기본으로 들어갑니다.

     

    20210721_182915.png.jpg

댓글 쓰기
권한이 없습니다.