Облікові дані проксі Docker: кодування URL і процентні escape-послідовності 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 натомість містить звичайні escape-послідовності URI, як-от %5C і %23. Не копіюйте написання з файлу юніта без змін у JSON або в поле URL проксі клієнта.
Тримайте в полі зору й налаштоване джерело. Docker документує, що конфігурація проксі демона має пріоритет над змінними середовища проксі; тому старіше значення JSON може приховувати виправлене середовище служби.