맛집 여행 캠핑 일상 생활

[Linux] Apache NGINX duckdns.org certbot 인증서 발급 방법 본문

LINUX

[Linux] Apache NGINX duckdns.org certbot 인증서 발급 방법

영은파더♥ 2025. 4. 29. 13:01
728x90

duckdns.org 는 무료로 ddns 5개 subdomain을 사용할 수가 있습니다.

한가지 아쉬운 점이 있다면 무료인증서 letsencrypt 툴인 certbot 으로는 webroot 방식으로만 가능한 것 같네요~

1. Apache

cat << EOF > /etc/httpd/conf.d/certbot.conf
<VirtualHost *:80>
    ServerName example.duckdns.org
    DocumentRoot /var/www/certbot
    ErrorLog logs/certbot-error_log
    CustomLog logs/certbot-access_log vcommon
    <Location /.well-known/acme-challenge>
        Require all granted
    </Location>
</VirtualHost>
EOF

2. NGINX

cat << EOF > /etc/nginx/conf.d/certbot.conf
server {
    listen 80;
    server_name example.duckdns.org;
    location /.well-known/acme-challenge {
        allow all;
        root /var/www/certbot;
    }
}
EOF

위 2가지 중에 자신이 사용하기 편한 웹서버 설정을 합니다.

mkdir /var/www/certbot
apache 또는 nginx 를 재시작합니다.
systemctl restart httpd
systemctl restart nginx

혹시 iptables 로 해외아이피 차단이 되어 있다면 아래의 IP를 80포트를 허용하여야 합니다.

iptables -I INPUT -s 66.133.109.36 -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -s 54.218.62.136 -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -s 18.219.220.51 -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -s 13.213.12.208 -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -s 13.49.64.76 -p tcp --dport 80 -j ACCEPT

제가 테스트 했을때는 저 위 5개의 아이피였는데 바뀔수도 있을 것 같습니다.
안된다면 방화벽을 잠시 해제 시키거나 80포트는 모두 허용하고 진행합니다.

3. 인증서발급

certbot certonly --dry-run --webroot -w /var/www/certbot -d 서브도메인.duckdns.org --email 이메일주소 --no-eff-email --agree-tos

위 명령어로 The dry run was successful. 가 나온다면 --dry-run 옵션을 빼고 실제로 인증서발급을 받으면 됩니다.

certbot certonly --webroot -w /var/www/certbot -d 서브도메인.duckdns.org --email 이메일주소 --no-eff-email --agree-tos


duckdns가 아니라도 위 방법으로 인증서 발급이 가능합니다.

 

728x90
반응형
Trackback : | Comments :