Тим става една низа за заобиколување во заедничка датотека со околина. curl оди директно, друга апликација го користи проксито, а контејнерот повторно се однесува поинаку. Заедничката датотека ги дистрибуираше истите знаци. Таа не дистрибуираше еден заеднички парсер.

Трајниот објект е политиката: кои одредишта треба да бидат директни и под кои услови? Чувајте го тоа одвоено од низата што ја бара секоја програма.

Прво запишете ги очекуваните рути

Користете репрезентативни адреси, вклучително гранични случаи, а не само лесни успеси:

Форма на одредиштетоПрашање за сопственикот на политиката
Родителски доменДали тој треба да се заобиколи, или само неговите поддомени?
ПоддоменДали ја наследува истата рута?
Буквална приватна IPДали таа адреса е директно достапна од овој клиент?
Истата услуга под име на домаќинДали барањата по име и по адреса треба да се совпаѓаат?
Друг порт на услугатаДали исклучокот го опфаќа домаќинот или еден слушател?

Потоа идентификувајте ги корисниците: демонот што влече слика, програмата внатре во контејнерот, HTTP библиотека на јазик и интерактивен прелистувач можат да бидат одделни записи. Прокси конфигурацијата на Docker клиентот може да ги пополни вредностите на околината на контејнерот без секој внатрешен клиент да мора да ги применува истите правила за совпаѓање.

Преведувајте наместо слепо да копирате

Еден документиран пример за вистинска разлика е границата на родителскиот домен. Исклучувањето на домен во curl го опфаќа именуваниот домен и соодветните деца. Политиката за околина на .NET го разликува голото име од формата на поддомен со водечка точка. Универзално правило „секогаш додавај водечка точка“ не може сигурно да ги изрази двете политики.

Поддршката за IP опсези исто така зависи од корисникот и неговата верзија. Машина со нов самостоен curl сепак може да извршува апликација поврзана со постара libcurl, или клиент што користи сосема друга библиотека. Изданието на оперативниот систем не е целосен инвентар на клиенти.

За секој корисник, запишете го поддржаниот интерфејс за конфигурација и најмалиот израз на предвидените рути. Краток експлицитен список на домаќини може да биде подобар од лукав шаблон чие значење никој не може да го објасни.

Чувајте ги доказите за конфигурацијата одвоени од доказите за поврзување

Парсирано поставување или API за одлука за насочување може да покаже што избрала програмата. Исходот од барањето потоа покажува дали таа рута била употреблива. Во .NET, HttpClient.DefaultProxy.IsBypassed ја обезбедува таа проверка од страната на конфигурацијата кога стандардното прокси е политиката што се користи. Не дијагностицирајте недостапна директна услуга како дефект на парсерот за заобиколување само затоа што барањето истече.

Задржете ги граничните одредишта при ажурирање на клиент или основна слика. Тие ги прават идните промени во компатибилноста видливи без целиот тим повторно да открива зошто датотеката содржи два слични записи за домен.

Поврзани статии