Skip to main content

Command Palette

Search for a command to run...

Tạo chứng chỉ SSL cho subdomain với Cloudflare & Docker

Updated
1 min read
Tạo chứng chỉ SSL cho subdomain với Cloudflare & Docker

Cài đặt Docker

sudo apt-get update
sudo apt-get install docker.io -y
sudo usermod -aG docker $USER

Cài đặt Nginx

sudo apt install nginx

sudo systemctl start nginx
sudo systemctl status nginx

Tạo thư mục lưu trữ certificate

sudo mkdir /etc/letsencrypt
sudo mkdir /var/lib/letsencrypt

Thêm domain vào Cloudflare

Tạo 1 API Tokens thông qua Cloudflare

Bấm vào Create Token:

Chọn Use template trong Edit zone DNS:

Chọn vào domain của bạn:

Tạo Token:

Kết quả:

Tạo file cloudflare.ini

vi /etc/letsencrypt/cloudflare.ini

# add content
dns_cloudflare_api_token = <copy_token>

Chạy docker để cấp certificate cho subdomain

docker run -it --rm --name certbot -v "/etc/letsencrypt:/etc/letsencrypt"
-v "/var/lib/letsencrypt:/var/lib/letsencrypt" certbot/dns-cloudflare certonly 
--dns-cloudflare --dns-cloudflare-credentials /etc/letsencrypt/cloudflare.ini 
-d *.hoangpv.shop

Cấu hình nginx

server{
        server_name nexus-repository.hoangpv.shop;

        error_log /var/log/nginx/nexus-repository.hoangpv.shop-error.log;
        access_log /var/log/nginx/nexus-repository.hoangpv.shop-access.log;

        fastcgi_buffers 16 16k;
        fastcgi_buffer_size 32k;
        client_max_body_size 128m;

        location / {
                proxy_pass http://127.0.0.1:8081;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_http_version 1.1;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Host $host;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header Host $host;
        }
}

Cấu hình DNS Record

Kết quả

3 views