Топ бір айналып өту жолын ортақ орта файлына салады. curl тікелей жүреді, басқа қолданба проксиді пайдаланады, ал контейнер тағы басқаша әрекет етеді. Ортақ файл бірдей таңбаларды таратты. Бірақ ол бір ортақ талдаушыны таратқан жоқ.

Тұрақты объект — саясат: қай мақсаттар тікелей болуы керек және қандай шарттарда? Оны әр бағдарламаға қажет жолдан бөлек ұстаңыз.

Алдымен күтілетін маршруттарды жазыңыз

Тек қарапайым сәттіліктерді емес, шекараларды қоса өкілдік мекенжайларды пайдаланыңыз:

Мақсат пішініСаясат иесіне сұрақ
Ата-ана доменОны айналып өту керек пе, әлде тек оның балаларын ба?
Ішкі доменОл бірдей маршрутты мұралайды ма?
Әдепкі жеке IPБұл мекенжайға осы клиенттен тікелей қол жеткізуге бола ма?
Хост атының астындағы сол қызметАтауға негізделген және мекенжайға негізделген сұраныстар сәйкес келуі керек пе?
Басқа қызмет портыЕрекшелік хостты немесе бір тыңдаушыны қамти ма?

Содан кейін тұтынушыларды анықтаңыз: бейнені тартатын демон, контейнер ішіндегі бағдарлама, тілдің HTTP кітапханасы және интерактивті браузер — барлығы бөлек жазба болуы мүмкін. Docker клиентінің прокси конфигурациясы контейнер ортасының мәндерін толтыра алады, ішіндегі әр клиент бірдей сәйкестендіру ережелерін іске асырмай-ақ.

Соқыр көшіруден гөрі аударыңыз

Нақты айырмашылықтың бір құжатталған мысалы — ата-ана домен шекарасы. curl-дың доменді болдырмауы аталған доменді және сәйкес келетін балаларды қамтиды. .NET орта саясаты жалаң атауды бастапқы нүктелі ішкі домен пішінінен ажыратады. Әрқашан бастапқы нүкте қос деген әмбебап ереже екі саясатты да сенімді түрде білдіре алмайды.

IP диапазондарын қолдау да тұтынушыға және оның нұсқасына байланысты. Жаңа дербес curl-ы бар машина әлі де ескі libcurl-ға байланған қолданбаны немесе мүлдем басқа кітапхананы пайдаланатын клиентті іске қоса алады. Операциялық жүйе шығарылымы клиенттердің толық тізімі емес.

Әр тұтынушы үшін оның қолдау көрсетілетін конфигурация интерфейсін және жоспарланған маршруттардың ең кішкентай өрнегін жазыңыз. Қысқа айқын хосттар тізімі мағынасын ешкім түсіндіре алмайтын айлакер үлгіден жақсы болуы мүмкін.

Конфигурация дәлелдерін қосылым дәлелдерінен бөлек ұстаңыз

Талданған параметр немесе маршруттау шешімдерінің API-і бағдарламаның нені таңдағанын көрсете алады. Сұраныс нәтижесі сол маршруттың пайдалануға жарамды екенін көрсетеді. .NET-те, HttpClient.DefaultProxy.IsBypassed әдепкі прокси пайдаланылатын саясат болған кезде сол конфигурация жағындағы тексеруді қамтамасыз етеді. Қол жетпейтін тікелей қызметті тек сұраныс уақыты біткені үшін айналып өту талдаушысының ақауы деп диагностикаламаңыз.

Клиентті немесе негізгі бейнені жаңартқанда шекаралық мақсаттарды сақтаңыз. Олар болашақ үйлесімділік өзгерістерін көрінетін етеді, бүкіл топ файлда неге екі ұқсас домен жазбасы бар екенін қайта ашуға мәжбүр болмай.

Қатысты мақалалар