Caddy מול Nginx: הגדרת HTTPS אוטומטית ופרוקסי הפוך

הגדרה ידנית של HTTPS ופרוקסי עבור כל אתר היא משימה מייגעת ומועדת לשגיאות. אנו מגדירים עבורכם את Caddy, שרת אינטרנט שמנפיק ומחדש תעודות SSL באופן אוטומטי, וחוסך מכם את העבודה השגרתית. הצוות שלנו מספק פרויקט סוהר: מהגדרת Caddyfile ועד אינטגרציה עם Docker ותמיכה שוטפת, תוך הבטחת פעילות אמינה ומאובטחת של האתרים שלכם.

פיתוח ותחזוקה של כל סוגי האתרים:

אתרי מידע או יישומי אינטרנט
אתרי תדמית, דפי נחיתה, אתרי חברה, קטלוגים מקוונים, חידונים, אתרי קידום, בלוגים, מקורות חדשות, פורטלי מידע, פורומים, אגרגטורים
אתרי מסחר אלקטרוני או יישומי אינטרנט
חנויות מקוונות, פורטלי B2B, שווקים, בורסות מקוונות, אתרי קאשבק, בורסות, פלטפורמות דרופשיפינג, מנתחי מוצרים
יישומי אינטרנט לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, פורטלים ארגוניים, מערכות ניהול ייצור, מנתחי מידע
אתרי שירות אלקטרוני או יישומי אינטרנט
פלטפורמות מודעות, בתי ספר מקוונים, בתי קולנוע מקוונים, בוני אתרים, פורטלים לשירותים אלקטרוניים, פלטפורמות אירוח וידאו, פורטלים נושאיים

אלה רק חלק מהסוגים הטכניים של אתרים שאנו עובדים איתם, ולכל אחד מהם יכולים להיות מאפיינים ופונקציונליות ספציפיים משלו, וכן ניתן להתאים אותם לצרכים ולמטרות הספציפיים של הלקוח.

השירותים שאנו מציעים
מציג 1 מתוך 1כל 2062 השירותים
Caddy מול Nginx: הגדרת HTTPS אוטומטית ופרוקסי הפוך
פשוט
~2-3 שעות

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אתר חברה B2B ADVANCE
    פיתוח אתר חברה B2B ADVANCE
    1504
  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1344
  • פיתוח אתר עבור BELFINGROUP
    פיתוח אתר עבור BELFINGROUP
    1052
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1307
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1050
  • פיתוח אתר לחברת FIXPER
    פיתוח אתר לחברת FIXPER
    1033

מדוע Caddy עדיף על Nginx עבור HTTPS?

הגדרת HTTPS ו-reverse proxy ב-Nginx דורשת פעולות ידניות רבות, במיוחד בעת הוספת דומיינים חדשים. Caddy הוא שרת דור חדש הפותר בעיות אלה באופן אוטומטי: הוא משיג ומחדש אישורי SSL דרך Let's Encrypt ללא שלבים נוספים. פרסנו את Caddy עבור לקוחות במשך שנים—השרת פועל ללא תקלות, וזמן הפריסה מתקצר פי שלושה בהשוואה ל-Nginx + certbot. לפי התיעוד הרשמי של Caddy, חידוש אישורים אוטומטי מתרחש 30 יום לפני תפוגה.

Caddy מבטל שגרה: קובץ הגדרה של 10 שורות מחליף עשרות הוראות Nginx. HTTPS אוטומטי פועל ישירות מהקופסה—אין צורך לפתוח פורטים עבור ACME או לכתוב משימות cron לחידוש. ה-reverse proxy המובנה עם איזון עומסים מתאים למיקרוסרוויסים ויישומי Node.js. בנוסף, Caddy תומך ב-HTTP/3 ישירות מהקופסה, ומספק שיפור מהירות ברשתות ניידות. Caddy צורך פי 2 פחות זיכרון מ-Apache תחת אותו עומס, כפי שאושר בבדיקות ביצועים.

כיצד Caddy מפשט ניהול SSL

Caddy משיג ומחדש אוטומטית אישורי SSL עבור כל הדומיינים המוגדרים בקובץ Caddyfile. השרת עצמו בודק את תאריך התפוגה ומחדש אישורים 30 יום לפני התפוגה. זה מבטל את שגיאת "SSL expired" ואת זמן ההשבתה הנלווה. עבור אישורי wildcard, פשוט הוסף ספק DNS בבלוק tls. נתמכים מעל 50 ספקים: Cloudflare, AWS Route53, DigitalOcean ואחרים.

התקנה והגדרה של Caddy

כיצד להתקין את Caddy על שרת?

אנו תומכים ב-Debian/Ubuntu, CentOS, Alpine. ההתקנה על Debian אורכת מספר שלבים:

  1. הוסף את מאגר Caddy.
  2. התקן את חבילת caddy.
  3. הפעל את השירות ובדוק את הסטטוס.
apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
-1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/caddy-stable-archive-keyring.gpg] https://dl.cloudsmith.io/public/caddy/stable/deb/debian any-version main" | tee /etc/apt/sources.list.d/caddy-stable.list
apt update && apt install caddy

לאחר ההתקנה, Caddy פועל כשירות systemd. בדוק את הסטטוס: apt install -y debian-keyring debian-archive-keyring apt-transport-https curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/caddy-stable-archive-keyring.gpg] https://dl.cloudsmith.io/public/caddy/stable/deb/debian any-version main" | tee /etc/apt/sources.list.d/caddy-stable.list apt update && apt install caddy .

דוגמת Caddyfile

# /etc/caddy/Caddyfile
example.com {
  root * /var/www/myapp/public
  php_fastcgi unix//var/run/php/php8.3-fpm.sock
  try_files {path} /index.php?{query}
  encode gzip
  header {
    Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
    X-Frame-Options "DENY"
    X-Content-Type-Options "nosniff"
    Referrer-Policy "strict-origin-when-cross-origin"
    -Server
  }
  @static {
    path *.css *.js *.jpg *.png *.gif *.ico *.svg *.woff2
  }
  header @static Cache-Control "public, max-age=31536000, immutable"
  @dotfiles {
    path /.*
  }
  respond @dotfiles 403
  log {
    output file /var/log/caddy/access.log
    format json
  }
}
api.example.com {
  reverse_proxy localhost:3000 {
    header_up X-Real-IP {remote_host}
    header_up X-Forwarded-Proto {scheme}
  }
}
www.example.com {
  redir https://example.com{uri} permanent
}

קובץ Caddyfile זה משרת יישום PHP, מנתב API ל-Node.js, מגדיר כותרות אבטחה ומטמון סטטי. עבור מספר אתרים, פשוט הוסף בלוקים חדשים.

אינטגרציה עם Docker

השתמש בתמונה הרשמית systemctl status caddy. עגן את קובץ Caddyfile ואת הכרכים עבור אישורים:

---
# docker-compose.yml services: caddy: image: caddy:2-alpine ports: - "80:80" - "443:443" volumes: - ./Caddyfile:/etc/caddy/Caddyfile - caddy_data:/data - caddy_config:/config restart: unless-stopped volumes: caddy_data: caddy_config: 

גישה זו מפשטת פריסה ועדכונים. Caddy קולט אוטומטית שינויים בקובץ Caddyfile ללא צורך בהפעלה מחדש של הקונטיינר.

השוואה עם חלופות

Caddy מול Nginx

קריטריון Caddy Nginx
SSL/TLS אוטומטי (Let's Encrypt) ידני דרך certbot
הגדרה Caddyfile (5–15 שורות) nginx.conf (30+ שורות)
ביצועים עד מיליון בקשות/שנייה עד 2 מיליון בקשות/שנייה
תמיכה ב-HTTP/3 מובנה דורש build נפרד
ניהול API כן (REST) אין מובנה

Caddy מנצח בפשטות ובאבטחה, ומקצר את זמן הגדרת SSL פי שלושה בהשוואה ל-Nginx + certbot. עם זאת, עבור כוונון עדין בתרחישים ספציפיים, Nginx נשאר גמיש יותר.

Caddy מול Apache

קריטריון Caddy Apache
הגדרה Caddyfile (5–15 שורות) .htaccess + httpd.conf (50+ שורות)
ביצועים עד מיליון בקשות/שנייה עד 500 אלף בקשות/שנייה
HTTPS אוטומטי מובנה דורש mod_md
תמיכה ב-HTTP/2/3 מובנה HTTP/3 דרך מודול

Caddy פשוט יותר להגדרה, במיוחד עבור HTTPS. Apache דורש יותר משאבים להגדרה ותחזוקה.

מה כוללת הגדרת Caddy שלנו

  • אבחון התשתית הנוכחית שלך ובחירת הגדרת Caddy האופטימלית.
  • התקנה והגדרה של Caddy עם HTTPS אוטומטי ו-reverse proxy.
  • פיתוח קובץ Caddyfile המותאם לסטack שלך: PHP, Node.js, קבצים סטטיים.
  • אינטגרציה עם Docker לקונטיינריזציה.
  • הגדרת אבטחה: כותרות, הגבלות גישה, רישום.
  • בדיקות ביצועים ואופטימיזציה.
  • תיעוד הגדרות והוראות תחזוקה.
  • הדרכת צוות על יסודות Caddy.
  • תמיכה מובטחת לאחר הפריסה (שבועיים).

תהליך ולוחות זמנים

אנחנו לא רק מגדירים את Caddy—אנו משלבים אותו בתשתית שלך עם ערובה ליציבות.

  • הגדרה בסיסית לאתר יחיד: יום אחד.
  • פרויקט מורכב (מספר אתרים, Docker, ניטור): 3–5 ימים.

ההערכה נעשית לאחר סקירת הדרישות. צור קשר כדי לדון בפרויקט שלך. קבל ייעוץ על הגדרת Caddy עבור הסטack שלך.

במשך שנים של עבודה, פרסנו את Caddy על מאות פרויקטים ואנחנו מוכנים לחלוק את הניסיון שלנו.

הגדרת אישורי wildcard ב-Caddy

כדי לקבל אישור wildcard # /etc/caddy/Caddyfile example.com { root * /var/www/myapp/public php_fastcgi unix//var/run/php/php8.3-fpm.sock try_files {path} /index.php?{query} encode gzip header { Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" X-Frame-Options "DENY" X-Content-Type-Options "nosniff" Referrer-Policy "strict-origin-when-cross-origin" -Server } @static { path *.css *.js *.jpg *.png *.gif *.ico *.svg *.woff2 } header @static Cache-Control "public, max-age=31536000, immutable" @dotfiles { path /.* } respond @dotfiles 403 log { output file /var/log/caddy/access.log format json } } api.example.com { reverse_proxy localhost:3000 { header_up X-Real-IP {remote_host} header_up X-Forwarded-Proto {scheme} } } www.example.com { redir https://example.com{uri} permanent } , ציין את הדומיין עם caddy:2-alpine בקובץ Caddyfile:

*.example.com { tls { dns cloudflare {env.CF_API_TOKEN} } reverse_proxy localhost:8080 } 

Caddy יבקש את האישור דרך אתגר DNS-01. ודא שלספק ה-DNS שלך יש גישת API.

Caddy מספק REST API לניהול הגדרות תוך כדי פעולה—זה מפשט אוטומציה ואינטגרציה עם CI/CD. השתמש ב-API של Caddy כדי להוסיף אתרים דינמית ללא טעינה מחדש של השרת. קרא עוד בתיעוד הרשמי של Caddy.