28 điểm bởi GN⁺ 2025-02-17 | 12 bình luận | Chia sẻ qua WhatsApp

Các tính năng chính của Caddy

  • Bảo mật và khả năng mở rộng: Caddy mặc định tự động lấy và gia hạn chứng chỉ TLS cho mọi trang web. Điều này giúp trang web an toàn hơn và đáng tin cậy hơn.
  • TLS theo yêu cầu: Có thể quản lý chứng chỉ TLS động cho các tên miền do khách hàng sở hữu, giúp doanh nghiệp SaaS mở rộng dễ dàng.
  • Quản lý TLS quy mô lớn: Caddy được thiết kế để quản lý ổn định hàng trăm nghìn trang web và hàng nghìn instance.

Ưu điểm của Caddy

  • Phần mềm miễn phí: Caddy được cung cấp miễn phí và có thể tiếp tục phát triển nhờ tài trợ.
  • Máy chủ HTTPS nâng cao: Caddy cung cấp sẵn TLS và PKI, đồng thời cũng có thể quản lý PKI nội bộ.
  • API cấu hình: Có thể xuất và thao tác tài liệu JSON thông qua RESTful API.
  • Tuân thủ quy định: Mặc định tuân thủ các tiêu chuẩn PCI, HIPAA, NIST.

Các tính năng nâng cao của Caddy

  • Điều phối cụm: Có thể cấu hình nhiều instance Caddy dùng chung một kho lưu trữ để tự động điều phối việc quản lý chứng chỉ.
  • Backend động: Có thể tra cứu backend động khi có yêu cầu, phù hợp với môi trường thay đổi nhanh.
  • Tính sẵn sàng cao: Cung cấp các tính năng như kiểm tra trạng thái nâng cao, thay đổi cấu hình, circuit breaker, giới hạn tải.

Cấu hình và khả năng mở rộng của Caddy

  • Cấu hình linh hoạt: Sử dụng JSON làm định dạng cấu hình mặc định và hỗ trợ adapter cấu hình cho nhiều định dạng khác nhau.
  • Khả năng mở rộng vô hạn: Caddy được thiết kế với kiến trúc mô-đun, có thể biên dịch và sử dụng chỉ những tính năng cần thiết.
  • Hiệu năng cao: Cung cấp hiệu năng CPU native, và các plugin được biên dịch vào binary tĩnh.

Các trường hợp sử dụng của Caddy

  • Máy chủ ứng dụng PHP: Phục vụ nhanh các trang PHP thông qua FrankenPHP mà không cần cài đặt PHP riêng.
  • Máy chủ tệp tĩnh: Caddy cung cấp chức năng file server mạnh mẽ và có thể kết hợp với nhiều tính năng middleware khác nhau.
  • Quản lý chứng chỉ tự động: Caddy tự động quản lý chứng chỉ để trang web luôn trực tuyến.

Được người dùng và chuyên gia khuyến nghị

  • Caddy dễ sử dụng, bảo mật tốt và cung cấp bộ tính năng mạnh mẽ, nên được nhiều người dùng và chuyên gia khuyến nghị.
  • Nhiều người dùng hài lòng với cấu hình đơn giản và các tính năng tự động hóa của Caddy.

12 bình luận

 
ssssut 2025-02-19

Tôi đã dùng từ những ngày đầu khi đây còn là dự án cá nhân của mholt, và hồi đầu cũng từng gửi PR, nên nhìn nó lớn mạnh như thế này tôi cũng thấy tự hào. Trong số các server mới thiết lập, những nơi không chạy môi trường k8s thì tôi đều chỉ dùng Caddy. Chuyện throughput không cao thì đã được nói đến từ rất lâu rồi, nhưng thật sự tôi rất ngưỡng mộ những ai đang vận hành một dịch vụ có lượng traffic lớn đến mức throughput của Caddy trở thành vấn đề.

 
honglu 2025-02-19

Thật tuyệt.

 
hands8142 2025-02-18

Mọi người nghĩ sao về Traefik vậy?? Tôi đang phân vân chọn một trong hai giữa Traefik và Caddy.

 
porteleaf 2025-02-18

https://www.youtube.com/watch?v=N5PAU-vYrN8&t=663s
Quả thực rất phù hợp để dùng cho các dự án quy mô nhỏ. Khi gắn HTTPS, với nginx thì tôi phải dùng kèm certbot, còn ở đây là hỗ trợ sẵn mặc định.
Nhược điểm là hiệu năng nginx > caddy.

 
yangeok 2025-02-25

Nếu máy tính có hiệu năng cùi thì chắc phải dùng nginx rồi,,

 
bbulbum 2025-02-18

Tôi đã dùng nó từ vài năm trước, và lúc đầu cảm thấy khá lạ vì hỗ trợ HTTPS tự động là cấu hình mặc định, nên nếu không cần thì lại phải thiết lập để tránh nó.
Nó đơn giản đến mức khiến người ta tự hỏi web server như vậy có thật sự ổn không, và vì thế tôi rất thích dùng nó.

 
secret3056 2025-02-18

Caddy đúng là vượt trội và rất đơn giản, nhưng có vẻ thông lượng không phải thuộc hàng quá tốt.
Và đây có thể là ưu điểm cũng có thể là nhược điểm, nhưng nếu có plugin bạn muốn dùng thì phải build kèm nó vào.

 
tribela 2025-02-18

Tính năng cache mà tôi cứ tưởng mặc định phải có thì lại là plugin, hơn nữa còn phải build nó rồi mới dùng được.. Ngoài nhược điểm đó ra thì tôi vẫn đang dùng khá tốt.

 
aer0700 2025-02-17

Máy chủ tối thượng... thèm quá haha

 
GN⁺ 2025-02-17
Ý kiến trên Hacker News
  • Caddy rất hữu ích khi thử nghiệm API cục bộ bằng HTTP2 trong quá trình phát triển

    • Hầu hết máy chủ phát triển chỉ hỗ trợ HTTP1, nên trên localhost chỉ có tối đa 6 kết nối đồng thời
    • HTTP2 cần SSL, nên việc thử nghiệm/cấu hình ở máy cục bộ khá phiền phức
    • Dùng reverse proxy Caddy có thể cài chứng chỉ gốc vào kho tin cậy của hệ điều hành để dùng HTTP2 ngay lập tức
    • ElectricSQL khuyến nghị điều này cho người dùng, và HTTP2 không bị khóa ở mức 6 kết nối đồng thời
    • Đặt Caddy phía trước Vite sẽ giúp tải lại nhanh hơn nhiều
    • Vite dùng hệ thống module JS tải từng tệp riêng lẻ trong trình duyệt và hỗ trợ HMR
    • Đặt Caddy phía trước Vite qua HTTP2 có thể giải quyết toàn bộ các vấn đề này
  • Sau khi chuyển từ nginx sang caddy-docker-proxy rồi tiếp tục sang Pangolin, tôi rất hài lòng

    • Pangolin là frontend cho traefik, cung cấp sẵn xác thực và tính năng đường hầm lưu lượng qua Wireguard
    • Tôi cần TCP forwarding cho máy chủ Minecraft, và nó giải quyết việc đó rất đơn giản
    • Khuyên dùng cho ai muốn một phiên bản tốt hơn của Nginx Proxy Manager
    • Tài liệu vẫn còn thiếu, nhưng maintainer hỗ trợ rất nhiệt tình trên Discord
  • Tôi không có gì để chê Caddy, nhưng có vẻ lợi thế duy nhất so với Nginx là cấu hình chứng chỉ dễ hơn

    • Vài năm trước tôi đã cấu hình cụm Kubernetes để tự động tạo và gia hạn chứng chỉ
    • Mọi thứ được xử lý qua Ingress, chỉ cần trỏ bộ cân bằng tải Nginx sang domain mới là tự hoạt động
    • Tôi không thường xuyên cần HTTPS cục bộ, nhưng khi cần thì cũng phải có truy cập từ bên ngoài
    • Tôi dùng một máy chủ chạy Nginx để proxy về localhost
    • Cách này phù hợp với tôi, và vì không có lý do để đổi nên tôi sẽ tiếp tục dùng
  • Tôi rất thích Caddy và đã dùng nó nhiều năm

    • Nó rất đáng tin cậy, và khi đã nắm được phần cơ bản thì cấu hình rất dễ
    • Tài liệu có hơi khó, nhưng vẫn tiết kiệm thời gian và công sức hơn rất nhiều so với việc cố làm cho letsencrypt chạy ổn định trên NGINX
  • Giấy phép thân thiện (Apache v2) cũng rất quan trọng, đặc biệt là với kiến trúc mô-đun của Caddy

    • Hệ sinh thái xung quanh Caddy nhờ đó trở nên đơn giản và an toàn hơn
    • Ví dụ, cung cấp client Internet nhưng vẫn giữ máy chủ ở chế độ riêng tư
    • Các VPN như Tailscale hoặc OpenZiti là ví dụ cho điều đó
  • HTTPS tự động sẽ cấp và gia hạn chứng chỉ TLS cho mọi trang

    • Tự động chuyển hướng HTTP sang HTTPS
    • Tôi thắc mắc khi trỏ IP của domain về Caddy, liệu chứng chỉ có được tạo ngay tại chỗ ở lần gọi HTTPS đầu tiên hay không
    • Điều này quan trọng vì cần chuyển hướng apex domain sang www
    • Có thể giải quyết bằng dịch vụ miễn phí, nhưng dùng Caddy có lẽ sẽ đơn giản hơn
  • Sau khi đọc toàn bộ website từ đầu đến cuối, tôi không thấy yên tâm về độ đáng tin cậy của dự án

    • Có quá nhiều nội dung tự tâng bốc khiến tôi thấy khó chịu
    • Có vẻ các tác giả sẽ không thẳng thắn về những nhược điểm đã biết
    • Tôi muốn biết có ai biết trước đây họ đã công bố như thế nào không
  • Kết hợp Caddy với Caddy-Docker-Proxy là cách rất hay để thiết lập máy chủ có nhiều dự án Docker

    • Tôi đang chạy nó trên vài máy chủ và nó hoạt động tốt
  • Tôi rất yêu Caddy

    • Tôi đã chuyển từ NGINX/OpenResty cách đây 2 năm, và cấu hình đơn giản hơn rất nhiều
    • Trước đây tôi dùng lua-resty-auto-ssl, nhưng giờ thì không nữa
    • Nó xử lý tốt 70.000 lượt truy cập mỗi tháng
  • Traefik là một lựa chọn thay thế tuyệt vời

    • Tôi đã dùng v1 và v2 trong nhiều năm, cấu hình dịch vụ bằng Docker labels
 
xcutz 2025-02-18

Ôi trời, ghê quá