Tím vloží jeden obchádzací reťazec do zdieľaného súboru prostredia. curl ide priamo, iná aplikácia používa proxy a kontajner sa opäť správa inak. Zdieľaný súbor distribuoval rovnaké znaky. Nedistribuoval jeden zdieľaný parser.

Trvalým objektom je politika: ktoré ciele majú byť priame a za akých podmienok? Držte ju oddelene od reťazca, ktorý každý program potrebuje.

Najprv zapíšte očakávané trasy

Používajte reprezentatívne adresy vrátane hraničných prípadov, nielen jednoduchých úspechov:

Tvar cieľaOtázka pre vlastníka politiky
Rodičovská doménaMá sa obchádzať, alebo len jej deti?
SubdoménaDedí tú istú trasu?
Doslovná súkromná IPJe tá adresa priamo dostupná z tohto klienta?
Tá istá služba pod názvom hostiteľaMajú sa požiadavky podľa názvu a podľa adresy zhodovať?
Iný port službyPokrýva výnimka hostiteľa alebo jeden poslucháč?

Potom identifikujte spotrebiteľov: démon sťahujúci obraz, program vnútri kontajnera, knižnica HTTP nejakého jazyka a interaktívny prehliadač môžu byť samostatné záznamy. Konfigurácia proxy klienta Docker môže naplniť hodnoty prostredia kontajnera bez toho, aby každý klient vnútri musel implementovať rovnaké pravidlá zhody.

Prekladajte namiesto slepého kopírovania

Jedným zdokumentovaným príkladom skutočného rozdielu je hranica rodičovskej domény. Vylúčenie domény v curl zahŕňa pomenovanú doménu a zodpovedajúce deti. Politika prostredia .NET rozlišuje holé meno od tvaru subdomény s vedúcou bodkou. Univerzálne pravidlo „vždy pridaj vedúcu bodku“ nedokáže spoľahlivo vyjadriť obe politiky.

Podpora rozsahov IP tiež závisí od spotrebiteľa a jeho verzie. Stroj s novým samostatným curl môže stále spúšťať aplikáciu prepojenú so staršou libcurl alebo klienta používajúceho úplne inú knižnicu. Vydanie operačného systému nie je úplným zoznamom klientov.

Pre každého spotrebiteľa zaznamenajte podporované konfiguračné rozhranie a najmenšie vyjadrenie zamýšľaných trás. Krátky explicitný zoznam hostiteľov môže byť lepší ako dômyselný vzor, ktorého význam nikto nedokáže vysvetliť.

Držte dôkazy o konfigurácii oddelene od dôkazov o spojení

Analyzované nastavenie alebo API rozhodnutia o smerovaní môže ukázať, čo program vybral. Výsledok požiadavky potom ukáže, či bola tá trasa použiteľná. V .NET HttpClient.DefaultProxy.IsBypassed poskytuje tú kontrolu na strane konfigurácie, keď je používanou politikou predvolená proxy. Nediagnostikujte nedostupnú priamu službu ako zlyhanie parsera obchádzania len preto, že požiadavka vypršala.

Zachovajte hraničné ciele pri aktualizácii klienta alebo základného obrazu. Robia budúce zmeny kompatibility viditeľnými bez toho, aby celý tím musel znova zisťovať, prečo súbor obsahuje dva podobne vyzerajúce záznamy domény.

Súvisiace články