Email Doanh NghiệpSSLFirewall Anti DDoSTối ưu tốc độ website

NỘI DUNG

Banner blog lễ 30.4 và 1.5

Hướng dẫn cài đặt Caddy Webserver trên Ubuntu 24.04 chi tiết từ A đến Z

Hưng Nguyễn

Đã kiểm duyệt nội dung

Ngày đăng:22/05/2025
Lượt xem

Đánh giá

Caddy Webserver là một máy chủ web hiện đại, nổi bật với khả năng cấu hình đơn giản và tự động cấp chứng chỉ SSL. Trong bài viết này, bạn sẽ học cách cài đặt Caddy Webserver trên Ubuntu 24.04 chỉ với vài bước đơn giản. Mình sẽ hướng dẫn từ quá trình cài đặt, cấu hình máy chủ ảo, thiết lập tường lửa đến bảo mật file cấu hình. Bài viết còn giúp bạn hiểu rõ hơn cách bảo vệ hệ thống và tối ưu hiệu suất hoạt động của website.

Điểm chính cần nắm

  • Caddy Webserver là gì?: Giới thiệu tổng quan về Caddy, máy chủ web hiện đại với cấu hình đơn giản và hỗ trợ HTTPS tự động.
  • 6 bước cài đặt Caddy Webserver trên Ubuntu 24.04: Hướng dẫn chi tiết quá trình cài đặt và cấu hình Caddy trên Ubuntu 24.04.
  • Bảo mật máy chủ Caddy và thiết lập tường lửa: Cách bảo vệ file cấu hình và thiết lập UFW để tăng cường bảo mật cho Caddy.
  • Vietnix – Giải pháp lưu trữ tốc độ cao và an toàn cho website của bạn: Giới thiệu dịch vụ hosting và hạ tầng lưu trữ hiệu suất cao của Vietnix.
  • FAQ: Giải đáp các câu hỏi thường gặp liên quan đến việc cài đặt và sử dụng Caddy Webserver trên Ubuntu.

Caddy Webserver là gì?

Caddy Webserver là một máy chủ web mã nguồn mở, được viết bằng ngôn ngữ lập trình Go, nổi bật nhờ khả năng tự động cấu hình HTTPS cho các tên miền mà không cần thao tác thủ công. Caddy có thể hoạt động như:

  • Máy chủ web tĩnh phục vụ các file HTML, CSS, JS,…
  • Proxy ngược (reverse proxy) cho các ứng dụng chạy phía sau như PHP, Node.js, Python,…
  • Bộ cân bằng tải (load balancer) giữa nhiều backend khác nhau.
  • Máy chủ API hoặc HTTP gateway trong các hệ thống microservices.
Caddy Webserver là một máy chủ web hiện đại, tự động cấu hình HTTPS và tối ưu hiệu suất
Caddy Webserver là một máy chủ web hiện đại, tự động cấu hình HTTPS và tối ưu hiệu suất

Ưu điểm của Caddy:

  • HTTPS tự động: Sử dụng Let’s Encrypt để tạo và gia hạn chứng chỉ SSL miễn phí.
  • Cấu hình đơn giản: Dễ hiểu và thân thiện với người dùng thông qua tập tin Caddyfile.
  • Tích hợp hiện đại: Hỗ trợ HTTP/2, HTTP/3, TLS 1.3, Gzip, WebSockets, redirection, rewrite, logging, rate limiting,…
  • Chạy độc lập: Không cần phụ thuộc vào phần mềm khác như Nginx hoặc Apache.
  • Bảo mật mặc định cao: Thiết kế bảo mật ngay từ đầu, tránh cấu hình sai sót phổ biến.

Caddy thích hợp cho:

  • Các ứng dụng web hiện đại cần HTTPS nhanh chóng.
  • DevOps và các lập trình viên muốn triển khai web đơn giản.
  • Những ai cần reverse proxy mà không muốn dùng Nginx hoặc HAProxy.

Bước 1: Cài đặt Caddy

Mặc định, Ubuntu 24.04 không có Caddy trong kho APT, nhưng bạn có thể dễ dàng thêm kho chính thức từ nhà phát hành và cài đặt chỉ với vài lệnh:

# Thêm khóa GPG
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
# Thêm kho lưu trữ Caddy vào hệ thống
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
# Cập nhật danh sách gói và cài đặt Caddy
sudo apt update
sudo apt install caddy

Sau khi cài xong, bạn có thể kiểm tra phiên bản bằng:

caddy version

Bước 2: Cho phép kết nối HTTP và HTTPS qua tường lửa

Caddy sử dụng port 80 (HTTP) và 443 (HTTPS), bạn cần đảm bảo các port này được mở:

sudo ufw allow 80
sudo ufw allow 443
sudo ufw reload

Nếu UFW chưa bật, chạy thêm:

sudo ufw allow 22 && sudo ufw enable

Bước 3: Kích hoạt và quản lý dịch vụ Caddy Webserver

Caddy hoạt động như một dịch vụ hệ thống. Để khởi động cùng hệ thống và kiểm soát dịch vụ:

sudo systemctl enable caddy
sudo systemctl start caddy
sudo systemctl status caddy

Nếu mọi thứ hoạt động bình thường, bạn có thể truy cập địa chỉ IP của máy chủ để kiểm tra trang web mặc định: http://YOUR_SERVER_IP

Bước 4: Tạo máy chủ ảo Caddy

Giờ mình sẽ tạo một website đơn giản để phục vụ từ Caddy. Ví dụ sử dụng tên miền example.com.

  • Tạo thư mục chứa trang web:
sudo mkdir -p /var/www/example.com
  • Tạo tệp HTML mẫu:
sudo nano /var/www/example.com/index.html
  • Dán vào nội dung HTML ví dụ:
<html>
  <head><title>Chào từ Caddy!</title></head>
  <body><h1 align="center">Hello, world! Đây là Caddy Webserver</h1></body>
</html>

Bước 5: Cấu hình Caddyfile

Caddy sử dụng file cấu hình chính là Caddyfile, nằm ở /etc/caddy/.

  • Sao lưu cấu hình mặc định:
sudo mv /etc/caddy/Caddyfile /etc/caddy/Caddyfile.default
  • Tạo file cấu hình mới:
sudo nano /etc/caddy/Caddyfile

Nội dung mẫu:

example.com {
    root * /var/www/example.com
    file_server
    tls admin@example.com
    log {
        output file /var/log/caddy/example.log
        format console
    }

Giải thích nhanh các chỉ thị:

  • example.com: Tên miền bạn muốn cấu hình.
  • root: Đường dẫn đến thư mục chứa mã nguồn web.
  • file_server: Bật tính năng phục vụ tệp tĩnh.
  • tls: Tự động tạo chứng chỉ SSL miễn phí với email đăng ký.
  • log: Ghi log truy cập và lỗi.

Bước 6: Kiểm tra và tải lại cấu hình

Trước khi áp dụng, hãy kiểm tra xem Caddyfile có lỗi cú pháp không:

caddy validate

Nếu không có lỗi, hãy tải lại dịch vụ Caddy:

sudo caddy reload

Bước 7: Kiểm tra kết quả

Truy cập trình duyệt đến:

https://example.com

Nếu bạn đã trỏ đúng tên miền về địa chỉ IP máy chủ, Caddy sẽ tự động tạo chứng chỉ SSL và hiển thị nội dung từ index.html bạn đã tạo.

Bảo mật máy chủ Caddy và thiết lập tường lửa

Sau khi đã cài đặt và cấu hình Virtual Host cho Caddy, bạn nên thực hiện một vài bước bảo mật cơ bản để đảm bảo máy chủ không bị can thiệp trái phép, đồng thời mở các port tường lửa cần thiết để truy cập website.

1. Bảo vệ file cấu hình Caddy

Mặc định, file cấu hình của Caddy nằm trong thư mục /etc/caddy/. Để hạn chế người dùng không được phép chỉnh sửa, bạn nên gán quyền sở hữu và quyền truy cập phù hợp như sau:

  • Gán quyền sở hữu thư mục cho user caddy:
sudo chown -R caddy:caddy /etc/caddy
  • Hạn chế quyền đọc/ghi file Caddyfile:
sudo chmod 660 /etc/caddy/Caddyfile
  • Kiểm tra lại quyền:
ls -l /etc/caddy/

Đầu ra mẫu:

-rw-rw---- 1 caddy caddy 168 Jun 2 15:20 Caddyfile
-rw-r--r-- 1 caddy caddy 769 Jun 2 12:07 Caddyfile.default

2. Thiết lập tường lửa với UFW

Caddy sử dụng các cổng:

  • 80 (HTTP)
  • 443 (HTTPS)

Bạn cần đảm bảo rằng các port này được phép thông qua tường lửa.

  • Kiểm tra trạng thái UFW:
sudo ufw status

Nếu UFW chưa được kích hoạt, bạn cần bật nó và cho phép kết nối SSH trước để tránh bị khóa máy chủ:

sudo ufw allow 22
sudo ufw enable
  • Cho phép HTTP và HTTPS:
sudo ufw allow 80
sudo ufw allow 443
  • Tải lại tường lửa:
sudo ufw reload

3. Kiểm tra truy cập website

Sau khi hoàn tất, bạn có thể truy cập trình duyệt với tên miền đã cấu hình để xác minh website đã hoạt động:

https://example.com

Nếu không truy cập được, hãy kiểm tra log trong Caddy để tìm nguyên nhân:

cat /var/log/caddy/example.log

Vietnix – Giải pháp lưu trữ tốc độ cao và an toàn cho website của bạn

Vietnix cung cấp các dịch vụ hostingVPS chất lượng cao, đáp ứng nhu cầu tối ưu tốc độ tải trang, đảm bảo hiệu suất ổn định cùng tính bảo mật vượt trội. Với hệ thống máy chủ hiện đại được đặt tại trung tâm dữ liệu đạt chuẩn quốc tế, cùng đội ngũ kỹ thuật chuyên môn cao luôn sẵn sàng hỗ trợ 24/7, Vietnix giúp website của bạn hoạt động mượt mà, an toàn và liên tục. Từ các cá nhân, doanh nghiệp nhỏ đến những hệ thống web lớn cần hiệu năng cao, dịch vụ của Vietnix đều mang lại sự linh hoạt, tiết kiệm và đáng tin cậy.

Thông tin liên hệ:

  • Website: https://vietnix.vn/
  • Hotline: 1800 1093
  • Email: sales@vietnix.com.vn
  • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, TP HCM.

Câu hỏi thường gặp

Làm thế nào để cấu hình Caddy với một website tĩnh?

Tạo một thư mục chứa website, viết Caddyfile chỉ định rootfile_server, sau đó chạy caddy reload.

Caddy tự động cấp SSL như thế nào?

Khi cấu hình Caddyfile với tên miền thật, Caddy sẽ tự động dùng Let’s Encrypt để cấp chứng chỉ SSL.

Làm thế nào để bảo mật file Caddyfile khỏi người dùng không được phép?

Bạn nên đổi quyền sở hữu file về caddy:caddy và đặt quyền đọc/ghi thành 660 để giới hạn truy cập.

Có thể dùng Caddy thay thế Nginx hoàn toàn không?

Trong nhiều trường hợp, có. Caddy hỗ trợ reverse proxy, load balancing, và HTTP/3, đủ để thay thế Nginx cho nhiều ứng dụng web.

Có thể cấu hình Caddy phục vụ nhiều website cùng lúc không?

Có, bạn chỉ cần thêm nhiều khối cấu hình domain trong cùng một Caddyfile.

Tại sao sau khi reload Caddy không áp dụng cấu hình mới?

Có thể do lỗi cú pháp trong Caddyfile hoặc dịch vụ chưa được khởi động lại đúng cách (sudo caddy reload).

Caddy có hỗ trợ cấu hình dạng JSON không?

Có, Caddy hỗ trợ cấu hình qua JSON bên cạnh Caddyfile. Bạn có thể dùng lệnh caddy adapt để chuyển đổi giữa hai định dạng.

Lời kết

Caddy Webserver giúp đơn giản hóa quá trình triển khai và bảo mật website với tốc độ cao, cấu hình rõ ràng và tự động hóa mạnh mẽ. Nếu bạn gặp bất kỳ khó khăn nào khi cài đặt hoặc cấu hình Caddy trên Ubuntu 24.04, đừng ngần ngại để lại bình luận bên dưới. Ngoài ra, nếu bạn cần một giải pháp lưu trữ chuyên nghiệp và ổn định, hãy cân nhắc các dịch vụ tại Vietnix. Mình luôn sẵn sàng hỗ trợ bạn tối ưu hệ thống một cách an toàn và hiệu quả.

Mọi người cũng xem:

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Đánh giá mức độ hữu ích của bài viết

icon 1 sao

Thất vọng

icon 2 sao

Chưa hữu ích

icon 3 sao

Bình thường

icon 4 sao

Hữu ích

icon 5 sao

Rất hữu ích

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

Icon tab

MAXSPEED HOSTING

TĂNG TỐC WEBSITE TOÀN DIỆN

CÔNG NGHỆ ĐỘC QUYỀN

Vector

PHẦN CỨNG MẠNH MẼ

Vector

HỖ TRỢ 24/7

Vector
ĐĂNG KÝ NGAYGroup icon
khuyến mãi sinh nhật
Nhanh tay, số lượng có hạn!
17/05/2025 - 22/06/2025
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

icon popup single post

CẢM ƠN BẠN ĐÃ ĐÁNH GIÁ BÀI VIẾT

Vietnix sẽ luôn cố gắng cải thiện chất lượng dịch vụ mỗi ngày

ĐÓNG

Đánh giá mức độ hữu ích của bài viết

icon 1 sao

Thất vọng

icon 2 sao

Chưa hữu ích

icon 3 sao

Bình thường

icon 4 sao

Hữu ích

icon 5 sao

Rất hữu ích

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG