Tim stavlja jedan niz za zaobilaženje u zajedničku datoteku okruženja. curl ide direktno, druga aplikacija koristi proxy, a kontejner se opet ponaša drugačije. Zajednička datoteka je distribuirala iste znakove. Ali nije distribuirala jedan zajednički parser.

Trajni objekt je politika: koja odredišta treba da budu direktna i pod kojim uslovima? Držite to odvojeno od niza koji svaki program zahtijeva.

Prvo zapišite očekivane rute

Koristite reprezentativne adrese, uključujući granice, a ne samo lake uspjehe:

Oblik odredištaPitanje za vlasnika politike
Matična domenaTreba li je zaobići, ili samo njenu djecu?
PoddomenaNasljeđuje li istu rutu?
Doslovna privatna IP adresaJe li ta adresa direktno dostupna sa ovog klijenta?
Ista usluga pod imenom hostaTreba li se zahtjevi zasnovani na imenu i na adresi slagati?
Drugi port uslugePokriva li izuzetak host ili jedan slušalac?

Zatim identificirajte potrošače: demon koji povlači sliku, program unutar kontejnera, HTTP biblioteka jezika i interaktivni preglednik mogu svi biti odvojeni unosi. Proxy konfiguracija Docker klijenta može popuniti vrijednosti okruženja kontejnera bez da svaki klijent unutra mora primijeniti ista pravila podudaranja.

Prevodi, umjesto da slijepo kopiraš

Jedan dokumentirani primjer stvarne razlike je granica matične domene. Isključenje domene u curl pokriva navedenu domenu i odgovarajuću djecu. Politika okruženja .NET razlikuje golo ime od oblika poddomene s vodećom tačkom. Univerzalno pravilo uvijek dodaj vodeću tačku ne može pouzdano izraziti obje politike.

Podrška za IP raspone također zavisi od potrošača i njegove verzije. Mašina s novim samostalnim curl-om i dalje može pokretati aplikaciju povezanu sa starijim libcurl-om, ili klijenta koji koristi potpuno drugu biblioteku. Izdanje operativnog sistema nije potpuni popis klijenata.

Za svakog potrošača zapišite podržani interfejs konfiguracije i najmanji izraz predviđenih ruta. Kratka eksplicitna lista hostova može biti bolja od pametnog uzorka čije značenje niko ne može objasniti.

Držite dokaze o konfiguraciji odvojeno od dokaza o vezi

Parsirana postavka ili API za odluke o rutiranju može pokazati šta je program odabrao. Ishod zahtjeva zatim pokazuje da li je ta ruta bila upotrebljiva. U .NET-u, HttpClient.DefaultProxy.IsBypassed pruža tu provjeru sa strane konfiguracije kada je zadani proxy politika koja se koristi. Ne dijagnosticirajte nedostupnu direktnu uslugu kao kvar parsera zaobilaženja samo zato što je zahtjev istekao.

Zadržite granična odredišta prilikom ažuriranja klijenta ili osnovne slike. Ona čine buduće promjene kompatibilnosti vidljivim bez potrebe da cijeli tim ponovo otkrije zašto datoteka sadrži dva slična unosa domene.

Povezani članci