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ả




