Δεσμεύσεις IPv6 και εξερχόμενο IPVersion στον διαμεσολαβητή Indy HTTP
Προσθέστε ρητές τοπικές δεσμεύσεις IPv4/IPv6 πριν από την ενεργοποίηση· επιλέξτε την απαιτούμενη οικογένεια επόμενου άλματος στο OutboundClient πριν συνδεθεί.
ProxyServer.Bindings.Clear;
with ProxyServer.Bindings.Add do
begin
IPVersion := Id_IPv4;
IP := '127.0.0.1';
Port := 8080;
end;
with ProxyServer.Bindings.Add do
begin
IPVersion := Id_IPv6;
IP := '::1';
Port := 8080;
end;Εφαρμόστε το στον ανενεργό υπάρχοντα TIdHTTPProxyServer και μετά χρησιμοποιήστε την κανονική ενεργοποίησή του. Οι διευθύνσεις loopback δέχονται σκόπιμα μόνο τοπικούς πελάτες· η απομακρυσμένη χρήση απαιτεί προσβάσιμες διευθύνσεις διασύνδεσης και ελέγχους πρόσβασης. Επαληθεύστε το προκύπτον όριο πρόσβασης πριν εκθέσετε αυτόν τον ακροατή.
Οι εισερχόμενες δεσμεύσεις και ο εξερχόμενος υποδοχέας επιτελούν διαφορετικά έργα:
| Υποδοχέας | Επιλογή οικογένειας |
|---|---|
| Ο πελάτης φτάνει στον διαμεσολαβητή | Κάθε ρητή εγγραφή Bindings |
| Ο διαμεσολαβητής φτάνει στο επόμενο άλμα | Το OutboundClient.IPVersion του περιβάλλοντος |
Επομένως ένας ακροατής IPv6 δεν εξαναγκάζει κάθε προορισμό σε IPv6. Αν το φορτίο εργασίας απαιτεί ρητή οικογένεια επόμενου άλματος, ορίστε την στο OnHTTPBeforeCommand πριν συνδεθεί αυτός ο πελάτης, σύμφωνα με τη σκοπούμενη διαδρομή προορισμού.
Διαχωρίστε την αποτυχία του ακροατή από την αποτυχία του επόμενου άλματος όταν η μία πλευρά λειτουργεί. Η εξάρτηση από αυτόματες δεσμεύσεις μπορεί αλλιώς να εισαγάγει υποθέσεις εξαρτώμενες από την πλατφόρμα στη σύγκριση.