Проксі идентификационни данни в 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 вместо това съдържа обикновените URI escape последователности, като %5C и %23. Не копирайте изписването от файла на модула без промяна в JSON или в полето за проксі URL на клиента.
Дръжте под внимание и конфигурирания източник. Docker документира, че конфигурацията на проксі за демона има предимство пред променливите на средата за проксі; затова по-стара JSON стойност може да скрие коригирана среда на услугата.