Përputhshmëria e NO_PROXY në curl, .NET dhe kontejnerë
Kthejeni një politikë të përbashkët të rrugëtimit të drejtpërdrejtë në konfigurim specifik për klientin duke përdorur një grup të vogël destinacionesh përfaqësuese.
Një ekip vendos një varg anashkalimi në një skedar të përbashkët mjedisi. curl shkon drejtpërdrejt, një aplikacion tjetër përdor proxy-n, dhe një kontejner sillet përsëri ndryshe. Skedari i përbashkët shpërndau të njëjtat karaktere. Nuk shpërndau një parser të përbashkët.
Objekti i qëndrueshëm është politika: cilat destinacione duhet të jenë të drejtpërdrejta dhe në çfarë kushtesh? Mbani atë të ndarë nga vargu që i duhet çdo programi.
Fillimisht shkruani rrugët e pritura
Përdorni adresa përfaqësuese, duke përfshirë rastet kufitare dhe jo vetëm sukseset e lehta:
| Forma e destinacionit | Pyetje për pronarin e politikës |
|---|---|
| Domeni prind | A duhet anashkaluar, apo vetëm fëmijët e tij? |
| Një nëndomen | A trashëgon të njëjtën rrugë? |
| Një IP private e mirëfilltë | A është ai adresë i arritshëm drejtpërdrejt nga ky klient? |
| I njëjti shërbim nën një emër hosti | A duhet të përputhen kërkesat sipas emrit dhe sipas adresës? |
| Një port tjetër shërbimi | A e mbulon përjashtimi hostin apo një dëgjues të vetëm? |
Pastaj identifikoni konsumatorët: daemon-i që shkarkon një imazh, programi brenda kontejnerit, një bibliotekë HTTP gjuhe dhe një shfletues interaktiv mund të jenë zëra të veçantë. Një konfigurim proxy i klientit Docker mund të plotësojë vlerat e mjedisit të kontejnerit pa detyruar çdo klient brenda të zbatojë të njëjtat rregulla përputhjeje.
Përktheni në vend që të kopjoni verbërisht
Një shembull i dokumentuar i një ndryshimi të vërtetë është kufiri i domenit prind. Përjashtimi i domenit në curl mbulon domenin e emërtuar dhe fëmijët përputhës. Politika e mjedisit e .NET dallon emrin e pastër nga forma e nëndomenit me pikë kryesore. Një rregull universal „gjithmonë shto një pikë kryesore“ nuk mund t'i shprehë të dyja politikat në mënyrë të besueshme.
Mbështetja për intervalet IP gjithashtu varet nga konsumatori dhe versioni i tij. Një makinë me curl të ri të pavarur mund të ekzekutojë ende një aplikacion të lidhur me libcurl më të vjetër, ose një klient që përdor një bibliotekë krejt tjetër. Publikimi i sistemit operativ nuk është një inventar i plotë klientësh.
Për çdo konsumator, shënoni ndërfaqen e konfigurimit të mbështetur dhe shprehjen më të vogël të rrugëve të synuara. Një listë e shkurtër dhe e qartë hostesh mund të jetë më e mirë se një model i zgjuar, kuptimin e të cilit askush nuk mund ta shpjegojë.
Mbani provat e konfigurimit të ndara nga provat e lidhjes
Një konfigurim i analizuar ose një API e vendimit të rrugëtimit mund të tregojë çfarë zgjodhi programi. Rezultati i kërkesës pastaj tregon nëse ajo rrugë ishte e përdorshme. Në .NET, HttpClient.DefaultProxy.IsBypassed ofron atë kontroll nga ana e konfigurimit kur proxy-i i paracaktuar është politika në përdorim. Mos e diagnostikoni një shërbim të drejtpërdrejtë të paarritshëm si dështim të parserit të anashkalimit vetëm sepse kërkesa skadoi.
Mbajini destinacionet kufitare kur përditësoni një klient ose një imazh bazë. Ato i bëjnë të dukshme ndryshimet e ardhshme të përputhshmërisë pa kërkuar që i gjithë ekipi të rizbulojë pse skedari përmban dy zëra domeni që duken të ngjashëm.