본문 바로가기
Server/SSL

[SSL] 리눅스에서 DuckDNS와 Let's Encrypt를 이용해 무료 SSL 생성

by Youngs_ 2022. 1. 6.

duckDNS에서 도메인 발급

https://www.duckdns.org/domains

 

Duck DNS

Duck DNS free dynamic DNS hosted on AWS news: login with Reddit is no more - legal request support us: become a Patreon

www.duckdns.org

 

/etc/apache2/sites-available/{도메인 이름}.conf

없다면 아래처럼 기존 default.conf 파일을 복사해서 만드시면됩니다.

 

그리고 심볼릭 링크로 enable 시켜줍니다.

ln -s /etc/apache2/sites-available/petland.duckdns.org /etc/apache2/sites-enabled/

Certbot 설치하기

SSL 인증서를 발급받기위해서는 Certbot 패키지를 먼저 설치해줘야합니다.

sudo apt install certbot python3-certbot-apache

가상 호스트 파일 설정하기

아까 복사해놓은 /etc/apache2/sites-available/{도메인이름}.conf
에 들어가서 ServerName 과 ServerAlias 을 추가해줍니다.

vi /etc/apache2/sites-available/petland.duckdns.org

그리고 apache2ctl configtest 명령어로 설정값을 테스트해줍니다.

위처럼 OK 가 나오면 service apache2 reload

SSL인증서 발급받기

위에 apache용 certbot을 설치했기때문에 아래 명령어로 설치가 바로 진행됩니다.

sudo certbot --apache

처음에는 email, 그리고 동의 및 이메일 수신관련인데 다 Y 해줬습니다.

그다음은 도메인 이름을 넣어주면되고
중간에 1,2 redirect는 http로 넘어왔을때 자동으로 https로 리다이렉트 시켜준다는것입니다.

그리고 /etc/apache2/sites-available/에 들어가보면

이렇게 ssl 용 컨피그 파일이 있는걸 확인할 수 있습니다.

기존 내용도 보면 리다이렉트 관련 내용이 들어가있습니다.

기본적으로 apache2용 certbot 패키지는 하루에2번씩 인증서 기간을 체크해서 30일 이하가 남았을경우 자동으로 갱신을 도와주기 때문에 참고해주시면됩니다.

갱신 테스트 명령어는
sudo certbot renew --dry-run 입니다.

 

설치한 SSL의 경로 : /etc/letsencrypt/live/도메인명.duckdns.org/

# 설치한 SSL의 경로
/etc/letsencrypt/live/도메인명.duckdns.org/

출처

https://blog.dalso.org/linux/ubuntu/16198

댓글