Θύρα διαμεσολαβητή και θύρα προορισμού στο cURL
Κρατήστε τη θύρα μιας υπηρεσίας HTTPS στο URL προορισμού και τη θύρα του μεσάζοντα στο URL του διαμεσολαβητή, χωρίς να τις παρακάμπτετε μέσω CURLOPT_PORT.
Μια υπηρεσία HTTPS στη θύρα 8443 είναι προσβάσιμη μέσω διαμεσολαβητή 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);
Η εφαρμογή εξακολουθεί να ελέγχει την εκτέλεση, τη διαχείριση σφαλμάτων και τον κύκλο ζωής της λαβής. Το απόσπασμα κρατά μαζί τις παραμέτρους δρομολόγησης χωρίς να αλλάζει την επαλήθευση πιστοποιητικού.
Το cURL συνδέεται πρώτα με το proxy.example:8080. Για αυτόν τον προορισμό HTTPS, το αίτημα σήραγγας αναφέρει το api.example:8443 και η ταυτότητα TLS παραμένει api.example.
Το CURLOPT_PORT παρακάμπτει τη θύρα προορισμού, όχι τη θύρα του διαμεσολαβητή. Ο ορισμός του σε 443 κάθε φορά που ένα URL ξεκινά με https μπορεί να παρακάμψει μια υπηρεσία που φιλοξενείται σκόπιμα στη 8443. Το libcurl συνιστά να επιλέγετε τη θύρα στο URL αντί να χρησιμοποιείτε αυτή την επιλογή.
Όταν επαναχρησιμοποιείτε μια λαβή, λάβετε υπόψη και οποιαδήποτε προηγούμενη ρητή παράκαμψη θύρας. Ένα νέο URL δεν κάνει ευκολότερη την ερμηνεία αντιφατικών διατηρούμενων επιλογών.
Ο μεσάζων πρέπει να επιτρέπει CONNECT προς την επιλεγμένη θύρα προορισμού. Μια άρνηση για τη 8443 δεν είναι λόγος να μετακινήσετε τον ακροατή του διαμεσολαβητή ή να απενεργοποιήσετε την επαλήθευση TLS.