Configure Nginx with a Wildcard SSL Certificate (Let´s Encrypt)

공부는 혼자하는 거·2025년 3월 13일
0

환경

목록 보기
27/28
sudo apt update && sudo apt upgrade -y

# NGINX 설치
sudo apt install nginx -y
# Snap 패키지 매니저 설치
sudo apt install snapd -y
sudo snap install core
sudo snap refresh core

# Certbot 설치
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo certbot certonly --manual --preferred-challenges dns -d "*.domain.com" -d "domain.com"
sudo vi /etc/nginx/sites-available/default
server {
    listen 80;
    server_name www.domain.com blog.domain.com;

    location / {
        return 301 https://$host$request_uri;
    }
}

server {
    listen 443 ssl;
    server_name www.domain.com;

    ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1:5000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

server {
    listen 443 ssl;
    server_name blog.domain.com;

    ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;
   

    location / {
        proxy_pass http://127.0.0.1:5001;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
$ sudo crontab -e

0 0 * * * /usr/bin/certbot renew --quiet --post-hook "systemctl reload nginx"
sudo nginx -t
sudo systemctl restart nginx

참고

Configure Nginx with a Wildcard SSL Certificate (Let´s Encrypt)

NGINX에서 Let's Encrypt 와일드카드 인증서 생성

profile
시간대비효율

0개의 댓글