اعتبارنامههای پروکسی 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 قدیمی میتواند محیط سرویس اصلاحشده را پنهان کند.