Nếu bạn từng muốn sử dụng wildcard certificate với NAS Synology của mình, có thể bạn đã thấy rằng điều đó là không thể. Trong hướng dẫn này, bạn có thể tìm thấy các bước cần thiết để nhận wildcard certificate Let’s Encrypt bằng Docker.
Note: Bài viết này tập trung vào việc tạo wildcard cert cho tên miền phụ nên nó dành có các bạn đã có kiến thức cơ bản về docker và đã mua tên miền riêng.
Wildcard SSL là một chứng chỉ SSL có thể dùng cho tên miền chính và các tên miền phụ. “Wildcard certificate” là ký tự đại diện (thường là dấu hoa thị) thay cho các ký tự khác. Nó là chứng chỉ SSL / TLS certificate bao gồm một ký tự đại diện cho phép nó được sử dụng để bảo vệ một số subdomain của một domain.
Bước 1: Install Docker
Cài Đặt Docker qua Synology “Package Center”.
Bước 2: Đăng ký một tên miền riêng và account trên Cloudflare
Bước 3: Add a TXT record in your Cloudflare DNS.
Trong Cloudflare DNS, Click “Add record” và điền các thông tin bên dưới:
TXT record là cần thiết để việc tạo cert bằng docker thành công.
Bước 4: Tạo Folder
Đến File Station và mở docker folder. Ở trong docker folder, Tạo new folder có tên letsencrypt/config như hình:
Note: Cận thận chữ hoa và chữ thường.
Bước 5: Tạo User-defined script
Chuyển đến Control Panel / Task Scheduler / Create / Scheduled Task / User-defined script. Thực hiện theo các hướng dẫn trong hình ảnh dưới đây.
Cấu hình User-defined script
Khi bạn nhấp vào User-defined script một cửa sổ mới sẽ mở ra. Làm theo hướng dẫn dưới đây:
- General: Trong trường Task field hãy nhập “Install letsencryp“. Uncheck “Enabled” option. Select root User.
- Schedule: Select Run on the following date sau đó select “Do not repeat“.
- Task Settings: Check “Send run details by email“, add email của bạn sau đó copy paste code phía dưới ở trong Run command area. Sau đó click OK.
docker create \
--name=letsencrypt \
--cap-add=NET_ADMIN \
<strong> -e PUID=1024 \
-e PGID=100 \
-e VN=Asia/Ho_Chi_Minh \</strong>
<strong> -e URL=luannt.io.vn \</strong>
-e SUBDOMAINS=wildcard \
-e VALIDATION=dns \
-e DNSPLUGIN=cloudflare \
<strong> -e EMAIL=abc@gmail.com \</strong>
-e DHLEVEL=2048 \
-v /volume1/docker/letsencrypt/config:/config \
--restart unless-stopped \
linuxserver/swag
Note: Nhớ sửa lại PUID và PGID với đúng giá trị của máy bạn.
Note: Nhớ sửa lại VN=Asia/Ho_Chi_Minh.
Note: Nhớ sửa lại URL= domain của bạn.
Note: Nhớ sửa lại EMAIL=email của bạn.
Sau khi click “OK” sẽ hiện lên cảnh báo -> bấm “OK” tiếp.
Sau đó chạy Task Scheduler vừa tạo và đợi một vài phút cho hệ thống cài đặt thành công.
Bước 6: Cloudflare API key
Sau khi chạy Task Scheduler xong -> tiến hành chạy container vừa tạo
Sau khi chạy container sẽ tạo các file trong folder đã tạo ở trên. Vào dns-conf folder và chỉnh sữa file cloudflare.ini
dns_cloudflare_email = mail cloudflare bạn đã tạo ở trên.
dns_cloudflare_api_key = Global API Key trên cloudflare . (Xem bước 2 <a href="https://luannt.io.vn/synology-nas-cloudfare-ddns-and-update/#buoc-2-tao-token-cloudflare">hướng dẫn lấy API Key </a>)
Bước 7: Rerun the LE container
Chạy lại LE container một lần nữa và đợi một vài phút.
Cert sẽ được tạo ở folder etc > letsencrypt > live > your_domain_name hoặc /docker/letsencrypt/config/etc/letsencrypt/archive/your_domain_name folder
Sau đó Import certificate trên nas như bình thường.
The private key là nơi bạn để privkey.pem và Certificate là nơi để fullchain.pem
Intermediate không cần để gì hết.
NOTE: Sau mỗi 3 tháng bạn phải chạy lại LE container và import lại cert trên DSM một lần.