מה ההשוואה הזו מוסיפה
מחולל ה-reverse proxy באתר כותב תצורה ל-Caddy, ל-Traefik או ל-nginx; בעמוד הזה מחליטים ביניהם. הוא מציב את השלושה זה לצד זה לפי שישה קריטריונים שנקראו מהתיעוד ומקובץ ה-LICENSE של כל פרויקט, ואומר מתי כל אחד מתאים. אין עמוד אחר באתר שמשווה ביניהם.
ההשוואה
כל תא מקשר לעמוד שממנו נקרא ומציין את היום שבו נקרא; תא ישן מחלון הרענון מסומן כלא עדכני.
| ספק | תצורה | HTTPS אוטומטי | גילוי שירותי Docker | API ניהול וסטטוס | HTTP/3 | רישיון |
|---|---|---|---|---|---|---|
| Caddy | קובץ Caddyfile או JSON; שינויים נטענים דרך ה-endpoint /load ב-admin API או caddy reload, בלי השבתה ועם חזרה לתצורה הקודמת בכישלון. | מובנה ופעיל כברירת מחדל: מנפיק תעודות TLS דרך ACME, מחדש אותן ומפנה HTTP ל-HTTPS, בלי כלי נפרד. | אין ספק Docker labels במודולים הסטנדרטיים; ה-upstreams מוגדרים בתצורה או נשלפים דינמית דרך רשומות DNS מסוג SRV או A/AAAA. | admin API מסוג REST, בכתובת ברירת מחדל localhost:2019, לקריאה ולשינוי התצורה; לא מתואר dashboard ויזואלי בתיעוד. | נתמך; אפשרות protocols בשרת היא h1 h2 h3 כברירת מחדל, כך ש-HTTP/3 פעיל כברירת מחדל. | Apache License 2.0. |
| Traefik | תצורת התקנה בקובץ YAML/TOML, ארגומנטים או משתני סביבה; תצורת הניתוב מגיעה מ-providers ונטענת מחדש בלי הפעלה מחדש. | מובנה דרך certificate resolvers של ACME (אתגר HTTP, TLS או DNS) עם חידוש אוטומטי; יש להגדיר resolver. | מובנה: ה-Docker provider קורא labels של קונטיינרים (למשל בקובץ Compose) ויוצר מהם נתיבים. | API ו-dashboard מובנים שמציגים את הנתיבים הפעילים; כבויים כברירת מחדל (api=false), והתיעוד ממליץ לאבטח אותם בייצור. | נתמך דרך האפשרות http3 ב-entryPoint; דורש entryPoint מסוג TCP, בדרך כלל זה שמשמש ל-TLS. | רישיון MIT. |
| nginx | קובץ תצורה טקסטואלי nginx.conf; שינויים חלים אחרי nginx -s reload, שבודק תחביר ומפעיל workers חדשים בזמן שהישנים מסיימים. | ACMEv2 דרך ngx_http_acme_module, שמופץ בנפרד (קוד ב-repo nginx-acme, חבילה מוכנה nginx-module-acme); יש להוסיף אותו ל-nginx. | אין Docker provider; שרתי upstream מוגדרים בתצורה. הפרמטר resolve מתרגם שמות DNS מחדש (בקוד הפתוח מגרסה 1.27.3). | המודול stub_status מספק מידע סטטוס בסיסי (חיבורים, בקשות); לא נבנה כברירת מחדל. | ngx_http_v3_module (מגרסה 1.25.0) מתועד כניסיוני; לא נבנה כברירת מחדל, וכלול בחבילות הבינאריות ל-Linux. | רישיון בסגנון BSD בשני סעיפים (זכויות יוצרים Igor Sysoev ו-Nginx, Inc.). |
מתי לבחור בכל אחד
נגזר מהתאים שלמעלה. כל כלי מתאים למצב אחר; אף אחד אינו טוב יותר באופן כללי.
- בחרו ב-Caddy
- בחרו ב-Caddy כשרוצים שהתעודות יונפקו ויחודשו בלי כלי נפרד, HTTP/3 פעיל כברירת מחדל ושינויי תצורה נשלחים דרך API עם חזרה לאחור, וכשמתאים לכם להגדיר upstreams בתצורה ולא דרך Docker labels.
- בחרו ב-Traefik
- בחרו ב-Traefik כשרוצים שנתיבים ייווצרו מ-Docker labels בקובץ ה-Compose, ששינויי ניתוב ייטענו בלי הפעלה מחדש, תעודות ACME דרך resolver מוגדר ו-dashboard מובנה אופציונלי של הנתיבים הפעילים.
- בחרו ב-nginx
- בחרו ב-nginx כשרוצים קובץ תצורה טקסטואלי שנטען ב-reload הדרגתי ו-upstreams שמוגדרים במפורש, וכשמתאים לכם להוסיף את מודול ה-ACME שמופץ בנפרד כדי לקבל תעודות ולהתייחס ל-HTTP/3 כניסיוני.
איך לקרוא את העמודות
- תצורה
- פורמט התצורה ואיך שינוי נכנס לתוקף: reload, קריאה ל-API או provider שה-proxy עוקב אחריו.
- HTTPS אוטומטי
- האם ה-proxy עצמו מנפיק ומחדש תעודות דרך ACME, ומה צריך להגדיר או להוסיף לשם כך.
- גילוי שירותי Docker
- האם נתיבים יכולים להגיע מהקונטיינרים עצמם (labels) או שהם מוגדרים בתצורה.
- API ניהול וסטטוס
- מה ה-proxy מציע כדי לראות או לשנות את מצבו בזמן ריצה: API, dashboard או עמוד סטטוס.
- HTTP/3
- האם HTTP/3 מעל QUIC נתמך, והאם הוא פעיל כברירת מחדל או מתועד כניסיוני.
- רישיון
- הרישיון של הפרויקט בקוד פתוח, כפי שכתוב בקובץ ה-LICENSE שלו.
שיטה
הכלים והקריטריונים נבחרו בהחלטת תוכן (#2929, 18 באוק׳ 2026): כלים שעושים את אותה עבודה, לכל אחד תיעוד ציבורי, בהשוואה לפי מה שהבחירה ביניהם תלויה בו.
כל תא נקרא ידנית מהתיעוד, מה-repository או מעמוד המחירים של הפרויקט עצמו, ושומר את העמוד ואת היום שבו נקרא. כשפרויקט לא מפרסם דבר על קריטריון, התא אומר מה הוא עושה במקום זאת ומצטט את העמוד שנבדק. תא נחשב לא עדכני 90 ימים אחרי שנקרא.
הכלים מופיעים בסדר קבוע, ואף עמודה אינה ציון. העמוד לא מריץ בנצ'מרק ולא מכריז על מנצח; ANAROQ אף פעם אינו אחד הצדדים, ואף אחד לא משלם על מקום.
מגבלות
- יכולות משתנות בין גרסאות: התאריך שבתא אומר מתי זה היה נכון, והעמוד של הפרויקט הוא הקובע.
- כמה קריטריונים, לא כל הבדל: העמודות הן מה שהבחירה בדרך כלל תלויה בו, לא רשימת יכולות מלאה.
- בלי בנצ'מרק: ביצועים, צריכת משאבים ואמינות לא נמדדו.
להמשיך באתר
מקורות
כל עמוד שממנו נקרא תא, עם היום שבו נקרא.
- Caddy caddyserver.com
- Caddy caddyserver.com
- Caddy caddyserver.com
- Caddy caddyserver.com
- Caddy raw.githubusercontent.com
- Traefik doc.traefik.io
- Traefik doc.traefik.io
- Traefik doc.traefik.io
- Traefik doc.traefik.io
- Traefik doc.traefik.io
- Traefik raw.githubusercontent.com
- nginx nginx.org
- nginx nginx.org
- nginx nginx.org
- nginx nginx.org
- nginx nginx.org
- nginx nginx.org