10 שרתי פרוקסי הפוך מקוריים פתוחים עבור Linux

A reverse proxy server is a type of proxy server that is deployed between clients and back-end/origin servers, for example, an HTTP server such as NGINX, Apache, etc.. or application servers written in Nodejs, Python, Java, Ruby, PHP, and many other programming languages.

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

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

הוא עוזר לשרתים בצד אחורי להשיג אנונימיות כדי לשפר את האבטחה שלהם. בתשתיות ה-IT, שרת פרוקסי הפוך יכול גם לפעול כגרם מניע אפליקציה, מאזין משאבים, סיימן של TLS, מאיץ אינטרנט (על ידי אחסון של תוכן סטטי ודינמי), ועוד.

במאמר זה, נבקש את עשרת השרתים הפרוקסי ההפוכים הפתוחים ביותר שניתן להשתמש בהם במערכת Linux.

1. HAProxy – (מאזן טעינה TCP/HTTP)

HAProxy (HAProxy, שעומדת על High Availability Proxy), הוא תוכנה חופשית, קוד פתוח, מהירה מאוד, אמינה, ורמה עליונה להפעלת מאזן טעינה ופרוקסי עבור יישומים מבוססי TCP ו-HTTP, בנויה לזמינות גבוהה.

HAProxy היא פרוקסי הפוך HTTP, פרוקסי TCP ומסדר, מפסיק/מתחיל/מסיר SSL/TLS, פרוקסי אחסון מטמון, מפסיק דחיסת HTTP, מנ regul מפסיק, מתג מבוסס תוכן, שער FastCGI, ועוד. היא גם הגנה נגד DDoS ושימוש לרעה בשירות.

הוא מופעל על ידי מנוע בלתי חוסם, המבוסס על אירועים, אשר משלב שכבת I/O מהירה מאוד עם מתזמן מרובה תחומיות המבוסס על עדיפות, אשר מאפשר לו לטפל בקלות באלפי חיבורים סטייתיים.

למעשה, HAProxy משתמש בפרוטוקול PROXY כדי להעביר את מידע החיבור של הלקוח לשרתי המקור או הגבהים, כך שיישום יכול לקבל את כל המידע הרלוונטי.

כמה מהתכונות הבסיסיות של HAProxy כוללות פרוקסי, תמיכה ב-SSL, ניטור של מצבי השרת ומצבם, גמישות גבוהה, איזון משאבים, יציבות (שמירה על מבקר באותו שרת גם באירועים שונים), החלפת תוכן, שינויי HTTP והפניה, הגנה על השרת, יומן, סטטיסטיקה ועוד הרבה יותר.

2. NGINX – (שרת אינטרנט ופרוקסי הפוך (Reverse Proxy) (HTTP

NGINX הוא שרת HTTP ופרוקסי הפוך (Reverse Proxy) חינמי, קוד פתוח, ביצועים גבוהים ופופולרי מאוד. כמו כן, הוא פועל כשרת פרוקסי IMAP/POP3. NGINX ידוע בביצועיו הגבוהים, יציבותו, קבוצת התכונות העשירה שלו, התצורה הפשוטה והגמישה, צריכת המשאבים הנמוכה (בעיקר המרווח הזיכרון הקטן).

אותו דבר כמו HAProxy, NGINX מערכת היא מונעת על-ידי ארכיטקטורת מערכת אירועים, כך שלא יש לה בעיה להתמודד עם עשרות אלפים של יחידות קישורים מקבלות, בעזרת הפרוטוקול של HAProxy – PROXY.

NGINX תומך בהדרכה מהירה של מאלףים עם האחסון בעזרת המודל ngx_http_proxy_module, שמאפשר לעבודה על דרישות עם שרתים אחרים בעזרת פרוטוקולוגים אחרים מאשר HTTP, כמו FastCGI, uwsgi, SCGI ו Memcached.

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

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

מאמרים מועילים על שרת האינטרנט Nginx שאולי תרצו לקרוא:

3. Varnish – (שרות פרוקסי לאחסון לכיוון הפוך)

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

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

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

הוורניש גם ניתן להרחיב – ניתן להרחיב אותו באמצעות מודולי וורניש (VMODs) ומשתמשים יכולים לכתוב מודולים אישיים או להשתמש במודולים שסופקו על ידי הקהילה.

ההגבלה העיקרית של Varnish היא החסרון בתמיכה ב־SSL/TLS. הדרך היחידה לאפשר HTTPS היא להפעיל מסיימת או מחליף SSL/TLS כגון HAProxy או NGINX מולו.

4. Træfɪk – (המפנה ליישומים הענן הטבעי)

טרפיק (נשמע טרפיק) הוא מרווח חופשי, מקורי פתוח, מודרני, ומהיר מרפואד אחראי חזרה על ה-HTTP ומעלה משקל עבור הגעה לשירותים מיקרו שתומכים במספר אלגוריתמים למעלה משקל.

הוא יכול לתקשר עם ספקים מסויימים (או מנגנונים לתגובת שירותים, או כלים לאורכוביה) כמו קוברנטס, דוקר, Etcd, API Rest, Mesos/Marathon, Swarm, וZookeeper.

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

לטרפיק יש גם תכונות נוספות שתומכות על WebSockets, HTTP/2, וGRPC, רענן חם (מעדכן את ההגדרות שלו בלימים ללא הפסקת הפעלה), התמקדות ב-HTTPS בעזרת תעודות Let’s Encrypt (תעודת ריבוע תומכת), ומפתחת REST API. הוא גם שומר על מחשבות גישה, ומספק מדידות (Rest, Prometheus, Datadog, Statsd, InfluxDB).

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

5. שרת טראפיק אפאצ'ה של אפאצ'י – (שרת פרוקסי לכיוון הפוך והקדימה)

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

השרת טראפיק גם עובד כמאזן עומס ויכול להשתתף בהיררכיות מטמון גמישה. ידוע כי עיבד מעל 400 טרה-בייט ביום של תעבורה ביאהו.

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

6. Squid – (שרת פרוקסי לכיוון הקדימה ומטמון HTTP)

Squid הוא שרת פרוקסי ושדה רשת פתוח, מוכר ומוכר שתומך בפרוטוקולים שונים כגון HTTP, HTTPS, FTP ועוד. יש לו מצב שרת פרוקסי לכיוון הפוך (httpd-accelerator) המטמן בקשות נכנסות לנתונים יוצאים.

הוא תומך באפשרויות שיפור תעבורה מרובות, בפקודת גישה, אישור, אפשרויות רישום ועוד הרבה יותר.

7. Pound – (פרוקסי הפוך ומאזן מעמסה)

A Pound is another free and open-source, lightweight reverse proxy and load balancer and front-end for web servers. It is also an SSL terminator (that decrypts HTTPS requests from clients and sends them as plain HTTP to the back-end servers).

מנקה HTTP/HTTPS (המאמת בקשות לקורקטנות ומקבל רק אלה שנוצרו כהלכה), ושרת גיבוי.

8. Apache – (שרת אינטרנט HTTP)

שרת Apache HTTP (ידוע גם בשם HTTPD), השרת האינטרנטי הפופולרי ביותר בעולם יכול גם להיות פותח ומוגדר לפעול כפרוקסי הפוך.

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

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

9. Skipper – (HTTP Router and Reverse Proxy)

Skipper הוא מכשיר HTTP חינמי וקוד פתוח לניווט ופרוטוקול הפוך ליישום שירות, כולל מקרים שימושים כמו כניסה ל-Kubernetes.

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

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

10 Caddy2 – שרת מהיר עם HTTPS אוטומטי

Caddy2 הוא שרת אינטרנט ופרוטוקול הפוך קוד פתוח הידוע בפשטותו ושימושיותו, המציע ממשק משתמש נוח ו-HTTPS אוטומטי כברירת מחדל, מה שהופך אותו לבחירה נוחה עבור משתמשים חדשים וניסיוניים כאחד.

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

מסקנה

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

Source:
https://www.tecmint.com/open-source-reverse-proxy-servers-for-linux/