چرا من از Caddy برای تمام سرویس‌های شخصی‌ام استفاده می‌کنم

خلاصه مقاله

Caddy یک وب‌سرور بازمتن است که تنها با چند خط ساده، SSL رایگان را برای تمام سرویس‌های شخصی فعال می‌کند. در این متن یاد می‌گیرید چطور بدون دردسر HTTPS را به همه چیز بدهید.

مقدمه‌ای کوتاه

شما هم اگر از سرور خانگی استفاده می‌کنید، حتماً می‌دانید که هر سرویس باید روی HTTPS باشد تا امن بماند. من سال‌ها دنبال راه‌حلی ساده بودم تا بدون کدنویسی پیچیده، هر سرویسم را با گواهی معتبر راه بیندازم. تا اینکه با Caddy آشنا شدم؛ یک ابزار که فقط با سه خط تنظیم، HTTPS را خودکار فعال می‌کند.

Caddy چیست؟

Caddy یک وب‌سرور متن‌باز است که مهم‌ترین ویژگی‌اش «HTTPS خودکار» است. یعنی نیازی نیست دستی گواهی بسازید یا cron job برای تمدید آن تعریف کنید؛ همه‌چیز در همان لحظه نصب، رنگ سبز می‌گیرد.

مزیت اصلی: فایل تنظیمات یک‌تکه

کل تنظیمات در یک فایل متنی به نام Caddyfile نوشته می‌شود. برای سرویس جدید کافی است سه خط بنویسید:

myservice.com {
    reverse_proxy localhost:9000
}

همین؛ دیگر لازم نیست حتی به یاد داشته باشید پورت 80 و 443 باز است یا نه، Caddy خودش بررسی می‌کند و گواهی را دریافت می‌کند.

چرا برای خانه‌سرور عالی است؟

۱. HTTPS برای همه چیز

فرقی نمی‌کند سرویس شما در شبکه داخلی باشد یا روی اینترنت؛ Caddy به همه دامنه و زیردامنه‌تان SSL رایگان می‌دهد.

۲. بدون دردسر تمدید

گواهی‌های Let’s Encrypt هر ۹۰ روز باید تمدید شوند. Caddy این کار را خودش انجام می‌دهد و دیگر کابوس تمام‌شدن زمان اعتبار را نخواهید داشت.

۳. نیازی به باز کردن پورت خاص نیست

اگر نگران باز بودن پورت ۸۰ یا ۴۴۳ هستید، می‌توانید از «DNS challenge» استفاده کنید. کافی است یک رکورد TXT در دامنه‌تان بسازید تا Caddy بدون باز کردن پورت نیز مالکیت دامنه را اثبات کند.

چه سرویس‌هایی متصل می‌کنیم؟

نام سرویسپورت داخلیدامنه خارجی
Home Assistant8123ha.yourdomain.com
Portainer9443docker.yourdomain.com
Nextcloud8080cloud.yourdomain.com

برای هرکدام کافی است یک بلوک سه‌خطی در Caddyfile بنویسید.

جمع‌بندی

Caddy سریع‌ترین مسیر بین ایده‌ی «می‌خوام HTTPS باشه» و «حالا هست» است. اگر تعداد کاربرانتان فوق‌العاده زیاد نیست، همین امروز آن را نصب کنید و با سه خط، امنیت سرویس‌های شخصی‌تان را بالا ببرید.

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *