אפשר להגיע לשירות HTTPS בפורט 8443 דרך proxy HTTP בפורט 8080. המספרים האלה מתארים חיבורים שונים:

$handle = curl_init('https://api.example:8443/status');
curl_setopt($handle, CURLOPT_PROXY, 'http://proxy.example:8080');
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);

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

cURL מתחבר תחילה אל proxy.example:8080. עבור יעד HTTPS זה, בקשת המנהרה מציינת api.example:8443, וזהות ה-TLS נשארת api.example.

CURLOPT_PORT הוא עקיפת פורט היעד, לא הפורט של ה-proxy. הצבתו ל-443 בכל פעם שכתובת מתחילה ב-https עלולה לעקוף שירות שמתארח בכוונה ב-8443. libcurl ממליץ לבחור את הפורט בכתובת במקום להשתמש באפשרות הזו.

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

המתווך חייב להתיר CONNECT לפורט היעד שנבחר. סירוב עבור 8443 אינו סיבה להעביר את מאזין ה-proxy או לבטל את אימות ה-TLS.

מאמרים קשורים