Cấu hình SSL tự động trên Server bằng Caddy

Last modified by Admin on 2025/03/24 11:04

Nếu đang chạy Website dưới dạng Service hoặc bằng Apache2/Nginx, ta có thể sử dụng Caddy như một Reverse Proxy để tự động cấu hình SSL vô cùng đơn giản. Bài viết này sẽ hướng dẫn ta thực hiện điều đó.

Cài đặt Caddy

Đối với Ubuntu 24.04 trở lên

apt update
apt install caddy

Đối với Ubuntu 22.04 trở xuống

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy

Đối với Centos 7 

yum install yum-plugin-copr
yum copr enable @caddy/caddy
yum install caddy

Đối với Centos 8 trở lên 

dnf install 'dnf-command(copr)'
dnf copr enable @caddy/caddy
dnf install caddy

Cấu hình Caddy và Website

Đối với Website chạy dưới dạng Service

Ta cấu hình như sau

vim /etc/caddy/Caddyfile

yourdomain.com {
    root * /path-to-website                  
#Trỏ tới thư mục chứa website
    file_server                                      #Cấu hình này sẽ tự động tìm đến các trang như index.html, index.php
}

sudo systemctl restart caddy

Đối với Website chạy Webserver (Apache2/Nginx)

Do Caddy chỉ cấp SSL khi được chạy trên port 80 và 443, vì vậy nếu Apache2 hoặc Nginx đã đang chạy trên các Port này, ta cần phải thay đổi chúng để Caddy có thể hoạt động 

- Apache2:

Chỉnh sửa file /etc/apache2/ports.conf

vim /etc/apache2/ports.conf

Đổi Listen từ cổng 80 sang cổng khác

Listen 8080

Chỉnh sửa file /etc/apache2/sites-available/mysite.conf

vim /etc/apache2/sites-available/mysite.conf

Khởi động lại Apache2

systemctl restart apache2

 - Đối với Nginx:

Chỉnh sửa file /etc/nginx/sites-available/default

listen 8080

Khởi động lại Nginx

systemctl restart nginx

Sau khi cấu hình xong Web Server, ta cấu hình lại Caddy

vim /etc/caddy/Caddyfile

 Cấu hình file như sau (comment lại các cấu hình sẵn có nếu không cần)

yourdomain.com {
    reverse_proxy localhost:8080
}

Khởi động lại caddy

systemctl restart caddy 

Giờ ta vào lại Website sẽ thấy có SSL.

Bizfly Cloud chúc bạn thành công!