Komanda ievieto vienu apiešanas virkni kopīgā vides failā. curl dodas tieši, cita lietojumprogramma izmanto starpniekserveri, bet konteiners atkal uzvedas citādi. Kopīgais fails izplatīja tos pašus simbolus. Tas neizplatīja vienu kopīgu parsētāju.

Noturīgais objekts ir politika: kuri galamērķi jāapmeklē tieši un ar kādiem nosacījumiem? Turiet to atsevišķi no virknes, kas nepieciešama katrai programmai.

Vispirms pierakstiet paredzētos maršrutus

Izmantojiet reprezentatīvas adreses, tostarp robežgadījumus, nevis tikai vienkāršus panākumus:

Galamērķa formaJautājums politikas īpašniekam
VecākdomēnsVai tas jāapej, vai tikai tā apakšdomēni?
ApakšdomēnsVai tas manto to pašu maršrutu?
Literāla privātā IPVai šī adrese ir tieši sasniedzama no šī klienta?
Tas pats pakalpojums zem resursdatora nosaukumaVai pieprasījumiem pēc nosaukuma un pēc adreses jāsakrīt?
Cits pakalpojuma portsVai izņēmums attiecas uz resursdatoru vai vienu klausītāju?

Pēc tam nosakiet lietotājus: dēmons, kas velk attēlu, programma konteinera iekšienē, valodas HTTP bibliotēka un interaktīvs pārlūks var būt atsevišķi ieraksti. Docker klienta starpniekservera konfigurācija var aizpildīt konteinera vides vērtības, neuzliekot katram iekšējam klientam pienākumu ieviest tos pašus atbilstības noteikumus.

Tulkojiet, nevis akli kopējiet

Viens dokumentēts reālas atšķirības piemērs ir vecākdomēna robeža. curl domēna izslēgšana aptver nosaukto domēnu un atbilstošos bērnus. .NET vides politika atšķir kailo nosaukumu no apakšdomēna formas ar sākuma punktu. Universāls noteikums „vienmēr pievienot sākuma punktu” nevar droši izteikt abas politikas.

IP diapazonu atbalsts arī ir atkarīgs no lietotāja un tā versijas. Mašīna ar jaunu atsevišķu curl joprojām var palaist lietojumprogrammu, kas saistīta ar vecāku libcurl, vai klientu, kas izmanto pavisam citu bibliotēku. Operētājsistēmas laidiens nav pilnīgs klientu uzskaitījums.

Katram lietotājam pierakstiet atbalstīto konfigurācijas saskarni un mazāko paredzēto maršrutu izteiksmi. Īss skaidrs resursdatoru saraksts var būt labāks par gudru šablonu, kura nozīmi neviens nevar izskaidrot.

Turiet konfigurācijas pierādījumus atsevišķi no savienojuma pierādījumiem

Parsēts iestatījums vai maršrutēšanas lēmuma API var parādīt, ko programma izvēlējās. Pieprasījuma iznākums pēc tam parāda, vai šis maršruts bija izmantojams. .NET gadījumā HttpClient.DefaultProxy.IsBypassed nodrošina šo konfigurācijas puses pārbaudi, ja tiek izmantota noklusējuma starpniekservera politika. Nediagnosticējiet nesasniedzamu tiešo pakalpojumu kā apiešanas parsētāja kļūmi tikai tāpēc, ka pieprasījums beidzās ar noildzi.

Saglabājiet robežgalamērķus, atjauninot klientu vai bāzes attēlu. Tie padara nākotnes saderības izmaiņas redzamas, neprasot visai komandai no jauna atklāt, kāpēc failā ir divi līdzīgi izskatoši domēna ieraksti.

Saistītie raksti