Credențiale proxy Docker: codificare URL și escape-uri procentuale systemd
Codificați procentual componentele credențialelor proxy, apoi păstrați acele semne de procent prin intermediul unei atribuiri Environment din systemd.
Un nume de utilizator proxy în stil domeniu poate conține o bară oblică inversă, iar o parolă poate conține caractere rezervate de sintaxa URI. Când construiți URL-ul proxy, codificați acele componente ale credențialelor: o bară oblică inversă devine, de exemplu, %5C.
O atribuire Environment într-un serviciu systemd adaugă încă un parser. Semnele de procent literale din configurația unității trebuie dublate:
[Service]
Environment="HTTPS_PROXY=http://DOMAIN%%5Cproxy-user:example%%[email protected]:8080"
Valorile ilustrative reprezintă un nume de utilizator de domeniu și o parolă care conține #. systemd transformă %% în %, lăsând URL-ul codificat pentru demon. Adăugați atribuirea HTTP_PROXY corespunzătoare dacă acea schemă de destinație are nevoie și de rută.
Procentul dublu este sintaxă systemd. În schimb, valoarea proxy din daemon.json a Docker conține escape-urile URI obișnuite, cum ar fi %5C și %23. Nu copiați ortografia fișierului unității neschimbată în JSON sau în câmpul URL de proxy al unui client.
Țineți la vedere și sursa configurată. Docker documentează că configurația proxy a demonului are prioritate față de variabilele de mediu proxy; o valoare JSON mai veche poate astfel ascunde un mediu de serviciu corectat.