Tạo chứng chỉ Let's Encrypt tự động gia hạn cho Synology NAS

Tạo chứng chỉ Let's Encrypt tự động gia hạn cho Synology NAS

I. Tạo người dùng mới

  • Truy cập vào Control Panel -> User -> Create

  • Nhập tên người dùng (Ví dụ: Cert) và mật khẩu đủ mạnh.

  • Thêm người dùng vào nhóm Administrators nhưng tắt mọi quyền truy cập đến Shared Folder.

II. Tạo chứng chỉ Let's Encrypt

1. Lấy API Key của Cloudflare

  • Thiết lập Cloudflare Nameservers cho domain:

chip.ns.cloudflare.com

melissa.ns.cloudflare.com

2. Tạo chứng chỉ và thêm vào DSM

  • Kích hoạt tạm thời SSH bằng cách truy cập Control Panel -> Terminal & SNMP -> Enable SSH service

  • Kết nối SSH đến NAS bằng tài khoản vừa tạo ở bước trên.

  • Tải script acme.sh vào thư mục /usr/local/share/acme.sh

wget -O /tmp/acme.sh.zip https://github.com/acmesh-official/acme.sh/archive/master.zip
sudo 7z x -o/usr/local/share /tmp/acme.sh.zip
sudo mv /usr/local/share/acme.sh-master/ /usr/local/share/acme.sh
sudo chown -R cert /usr/local/share/acme.sh/
  • Tạo chứng chỉ Let's Encrypt và thêm vào DSM:
cd /usr/local/share/acme.sh
./acme.sh --issue -d "*.lelong.dev" --dns dns_cf --home $PWD --server letsencrypt

export SYNO_Username="cert"
export SYNO_Password="MyPassw0rd!"
export SYNO_Certificate="*.lelong.dev"
export SYNO_Create=1
./acme.sh -d "*.lelong.dev" --deploy --deploy-hook synology_dsm --home $PWD
  • Truy cập vào Control Panel -> Security -> Certificate xem đã có chứng chỉ hay chưa, nếu có tức là đã thành công.

III. Thiết lập Task Scheduler để tự động gia hạn chứng chỉ

  • Truy cập vào Control Panel -> Task Scheduler

  • Chọn mục Create -> Scheduled Task -> User-defined script

  • Ở tab General, đặt tên cho Task, chọn User là tài khoản vừa tạo.

  • Ở tab Schedule, chọn Run on the following date, chọn Repeat every three months.

  • Ở tab Task Settings, nhập lệnh sau vào mục User-defined script:

# Gia hạn một chứng chỉ
/usr/local/share/acme.sh/acme.sh --renew -d "*.lelong.dev" --home /usr/local/share/acme.sh

# Gia hạn toàn bộ chứng chỉ
/usr/local/share/acme.sh/acme.sh --cron --home /usr/local/share/acme.sh
  • Bấm OK để lưu, chứng chỉ sẽ được gia hạn tự động ba tháng một lần.