פרוקסי HTTP או HTTPS: מה אומר הסימון?
ההבדל בין פרוקסי HTTP שיוצר מנהרה לאתרי HTTPS לבין פרוקסי HTTPS שמצפין את החיבור לפרוקסי עצמו.
השתמשו בסכמה המצוינת בתיעוד של נקודת ההאזנה בפרוקסי. כשבוחרים מועמדים מתוך רשימת שרתי פרוקסי HTTP, יש לוודא את הסכמה לפני הגדרת הלקוח. אתר HTTPS יכול להשתמש ב־http://proxy.example:8080; שינוי הערך ל־https:// מבקש סוג אחר של חיבור לפרוקסי.
| כתובת URL של הפרוקסי | כתובת URL של האתר | חיבור |
|---|---|---|
http://proxy.example:8080 | http://example.com/ | HTTP לא מוצפן אל הפרוקסי ואל היעד. |
http://proxy.example:8080 | https://example.com/ | HTTP CONNECT אל הפרוקסי, ואחריו TLS אל היעד דרך המנהרה. |
https://proxy.example:8443 | https://example.com/ | TLS אל הפרוקסי, כשהמנהרה ליעד עוברת בתוך החיבור הזה. |
לנקודת האזנה רגילה של HTTP שמאפשרת CONNECT, ההגדרה הזאת עקבית:
curl --proxy http://127.0.0.1:8080 https://example.com/לחיצת היד של TLS עם האתר מתבצעת לאחר שהפרוקסי מקבל את המנהרה. אם משנים את כתובת הפרוקסי ל־https://, אבל נקודת ההאזנה מבינה רק HTTP לא מוצפן, המשא ומתן של TLS עם הפרוקסי עלול להיכשל עוד לפני הפנייה לאתר.
מה מוסיף TLS בחיבור לפרוקסי
פרוקסי שתומך ב־TLS מגן על הקטע שבין הלקוח לפרוקסי, לרבות חילופי CONNECT והאימות מול הפרוקסי, מפני האזנה פסיבית לאורך אותו קטע. מפעיל הפרוקסי עדיין מטפל בחיבור ויודע מהו יעד המנהרה. גם הלקוח וגם נקודת ההאזנה חייבים לתמוך במצב הזה:
curl --proxy https://proxy.example:8443 https://example.com/השתמשו בשם המארח האמיתי של השירות; התעודה צריכה להתאים לשם ולהיות מהימנה. הגבלות על יעדים ויציאות עדיין חלות.
כשמשתמשים ב־HTTPS בשני הצדדים, מתבצעות שתי בדיקות תעודה. curl מאפשר להגדיר אותן בנפרד:
curl --proxy https://proxy.example:8443 --proxy-cacert proxy-ca.pem --cacert origin-ca.pem https://example.com/--proxy-cacert מגדיר את האמון בפרוקסי; --cacert מגדיר את האמון ביעד. בעת הצורך השתמשו בחבילות התעודות שסיפק מנהל המערכת; ייתכן שהגדרות האמון של המערכת כבר מספיקות. לפני שינוי של אחת מהן, בררו איזו לחיצת יד נכשלה.
הסימון ״HTTPS״ ברשימת פרוקסי עשוי לציין רק שנקודת הקצה עברה בדיקת CONNECT. אם הרשימה אינה מסבירה את הבדיקה, הסימון לבדו לא מלמד אם נקודת ההאזנה מצפה ל־http:// או ל־https://.