Caddy là một web server hiện đại, dễ sử dụng dành cho Linux. Nó hoạt động bằng cách hợp lý hóa quá trình tạo file cấu hình trang web và chứng chỉ SSL. Bài viết này sẽ hướng dẫn bạn quá trình cài đặt Caddy trên máy chủ Ubuntu Linux và cách sử dụng Caddy để triển khai một trang web đơn giản cũng như SSL reverse proxy.
Tại sao nên sử dụng Caddy làm web server?
Mặc dù Nginx và Apache là các daemon web server mạnh mẽ nhưng chúng có thể khó sử dụng và phức tạp đối với người dùng mới. Caddy cắt giảm sự phức tạp đó bằng cách cung cấp “Caddyfile”, một flat file duy nhất có cú pháp đơn giản, dễ học ngay cả đối với người mới bắt đầu.
Một điểm hấp dẫn khác của Caddy là nó cung cấp HTTPS cho web server của bạn ngay lập tức. Điều này giúp ích cho những người dùng thấy việc thiết lập SSL cho trang web của họ khó khăn và phức tạp. Vì vậy, Caddy là sự lựa chọn hoàn hảo nếu bạn đang tìm kiếm một web server “không ồn ào” trong Linux, vừa dễ bảo trì vừa dễ sử dụng.
Cài đặt Caddy
Bước đầu tiên trong việc cài đặt Caddy trên Ubuntu Linux là đảm bảo rằng bạn có các công cụ để nhập thông tin và key kho lưu trữ của nó:
sudo apt install curl debian-keyring debian-archive-keyring
Tìm nạp key kho lưu trữ cho Caddy từ trang web của nhà phát triển:
curl -fsSL 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
Tải xuống và lưu file kho lưu trữ của dự án Caddy vào thư mục “sources.list.d” trên máy của bạn:
curl -fsSL 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy.list
Load lại kho apt của hệ thống bằng cách chạy lệnh sau:
sudo apt update && sudo apt upgrade
Cài đặt gói Caddy cho hệ thống của bạn bằng apt install:
sudo apt install caddy
Chạy trang web caddie đầu tiên của bạn
Để chạy trang web đầu tiên của bạn, hãy tạo thư mục root của trang web trong thư mục home của bạn:
mkdir ~/my-first-website && cd ~/my-first-website
Tạo file index.html bằng trình soạn thảo văn bản yêu thích của bạn:
nano ./index.html
Dán block code sau vào file HTML mới của bạn:
<!DOCTYPE html>
<html>
<head> <title> Hello World! </title> </head>
<body>
<h1> Hello World! </h1>
<p> Hello MakeTechEasier! </p>
</body>
</html>
Lưu file index.html của bạn, sau đó chạy lệnh sau:
caddy file-server --listen :8080
Xác nhận rằng web server của bạn đang hoạt động bình thường bằng cách điều hướng đến nó bằng trình duyệt của bạn.
Tạo một trang web bằng Caddyfile
Mặc dù công cụ CLI rất tốt để phục vụ các trang web đơn giản, nhưng Caddy cũng cung cấp “Caddyfile” dễ sử dụng cho những thiết lập phức tạp hơn. Để bắt đầu, hãy tạo một Caddyfile mới trong “/etc/caddy” bằng trình soạn thảo văn bản yêu thích của bạn:
sudo rm /etc/caddy/Caddyfile && sudo nano /etc/caddy/Caddyfile
Dán block code sau vào Caddyfile mới của bạn:
your-domain.com {
redir https://www.{host}{uri}
}
www.your-domain.com {
root * /var/www/html
file_server
}
Lưu ý: Bạn cũng có thể host trang web chỉ có mạng LAN bằng Caddyfile thông qua việc thay thế “your-domain.com” bằng “localhost”.
Sao chép file index.html từ thư mục chính vào “/var/www” của hệ thống:
sudo mkdir /var/www/html/
sudo cp ~/my-first-website/index.html /var/www/html
Hãy tới nơi đăng ký DNS của bạn và đảm bảo rằng subdomain www và root của bạn có bản ghi A hoặc AAAA trỏ đến địa chỉ IPv4 và IPv6 của máy.
Lưu ý: Bạn không cần điều chỉnh bất kỳ cài đặt DNS nào cho các trang web chỉ có mạng LAN vì Caddy sẽ tạo chứng chỉ tự ký cho trang web đó.
Kích hoạt service Caddy tích hợp trên máy của bạn:
sudo systemctl enable --now caddy
Kiểm tra xem trang web của bạn có hoạt động bình thường hay không bằng cách điều hướng đến tên miền của bạn.
Tạo SSL Reverse Proxy với Caddy
Giống như Nginx và Apache, bạn cũng có thể sử dụng Caddy làm reverse proxy cho service nội bộ trên máy của mình. Để thực hiện việc này, hãy mở Caddyfile trong hệ thống của bạn:
sudo nano /etc/caddy/Caddyfile
Dán block code sau vào Caddyfile của bạn:
your-domain.com {
reverse_proxy 127.0.0.1:LOCAL-PORT
}
Thay thế “LOCAL-PORT” bằng cổng ứng dụng web của bạn. Trường hợp này sẽ thay thế code bằng 3001 để chuyển hướng tất cả lưu lượng truy cập đến máy chủ Uptime Kuma.
Lưu Caddyfile của bạn, sau đó load lại service Caddy để áp dụng cài đặt mới của bạn:
sudo systemctl reload caddy
Kiểm tra xem reverse proxy của bạn có hoạt động bình thường hay không bằng cách điều hướng đến domain của bạn bằng trình duyệt web.
Nguồn sưu tầm : Quản Trị Mạng
Cảm ơn bạn đã theo dõi bài viết tại Giải Bài Tập. Mời các bạn cùng xem các nội dung giải trí học tập và các kiến thức thú vị khác tại đây.