Διαπιστευτήρια διαμεσολαβητή Docker: κωδικοποίηση URL και διαφυγές ποσοστού systemd
Κωδικοποιήστε με ποσοστά τα στοιχεία των διαπιστευτηρίων του διαμεσολαβητή και, έπειτα, διατηρήστε αυτά τα σημάδια ποσοστού μέσα από μια ανάθεση Environment του systemd.
Ένα όνομα χρήστη διαμεσολαβητή σε μορφή τομέα μπορεί να περιέχει ανάποδη κάθετο και ένας κωδικός πρόσβασης μπορεί να περιέχει χαρακτήρες που επιφυλάσσει η σύνταξη URI. Όταν χτίζετε το URL του διαμεσολαβητή, κωδικοποιήστε αυτά τα στοιχεία διαπιστευτηρίων: μια ανάποδη κάθετος γίνεται, για παράδειγμα, %5C.
Μια ανάθεση Environment σε υπηρεσία systemd προσθέτει άλλον έναν αναλυτή. Τα κυριολεκτικά σημάδια ποσοστού στη διαμόρφωση της μονάδας πρέπει να διπλασιαστούν:
[Service]
Environment="HTTPS_PROXY=http://DOMAIN%%5Cproxy-user:example%%[email protected]:8080"
Οι ενδεικτικές τιμές αντιπροσωπεύουν ένα όνομα χρήστη τομέα και έναν κωδικό πρόσβασης που περιέχει #. Το systemd μετατρέπει το %% σε %, αφήνοντας το κωδικοποιημένο URL για τον δαίμονα. Προσθέστε την αντίστοιχη ανάθεση HTTP_PROXY αν αυτό το σχήμα προορισμού χρειάζεται επίσης τη διαδρομή.
Το διπλό ποσοστό είναι σύνταξη του systemd. Η τιμή διαμεσολαβητή στο daemon.json του Docker περιέχει αντίθετα τις συνηθισμένες διαφυγές URI, όπως %5C και %23. Μην αντιγράφετε την ορθογραφία του αρχείου μονάδας αμετάβλητη σε JSON ή στο πεδίο URL διαμεσολαβητή ενός πελάτη.
Κρατήστε και τη διαμορφωμένη πηγή στο οπτικό σας πεδίο. Το Docker τεκμηριώνει ότι η διαμόρφωση διαμεσολαβητή του δαίμονα υπερισχύει των μεταβλητών περιβάλλοντος διαμεσολαβητή· μια παλιότερη τιμή JSON μπορεί επομένως να κρύβει ένα διορθωμένο περιβάλλον υπηρεσίας.