NO_PROXY үйлесімділігі curl, .NET және контейнерлер арасында
Ортақ тікелей маршруттау саясатын өкілдік мақсаттардың шағын жиынын пайдаланып, клиентке тән конфигурацияға айналдырыңыз.
Топ бір айналып өту жолын ортақ орта файлына салады. curl тікелей жүреді, басқа қолданба проксиді пайдаланады, ал контейнер тағы басқаша әрекет етеді. Ортақ файл бірдей таңбаларды таратты. Бірақ ол бір ортақ талдаушыны таратқан жоқ.
Тұрақты объект — саясат: қай мақсаттар тікелей болуы керек және қандай шарттарда? Оны әр бағдарламаға қажет жолдан бөлек ұстаңыз.
Алдымен күтілетін маршруттарды жазыңыз
Тек қарапайым сәттіліктерді емес, шекараларды қоса өкілдік мекенжайларды пайдаланыңыз:
| Мақсат пішіні | Саясат иесіне сұрақ |
|---|---|
| Ата-ана домен | Оны айналып өту керек пе, әлде тек оның балаларын ба? |
| Ішкі домен | Ол бірдей маршрутты мұралайды ма? |
| Әдепкі жеке IP | Бұл мекенжайға осы клиенттен тікелей қол жеткізуге бола ма? |
| Хост атының астындағы сол қызмет | Атауға негізделген және мекенжайға негізделген сұраныстар сәйкес келуі керек пе? |
| Басқа қызмет порты | Ерекшелік хостты немесе бір тыңдаушыны қамти ма? |
Содан кейін тұтынушыларды анықтаңыз: бейнені тартатын демон, контейнер ішіндегі бағдарлама, тілдің HTTP кітапханасы және интерактивті браузер — барлығы бөлек жазба болуы мүмкін. Docker клиентінің прокси конфигурациясы контейнер ортасының мәндерін толтыра алады, ішіндегі әр клиент бірдей сәйкестендіру ережелерін іске асырмай-ақ.
Соқыр көшіруден гөрі аударыңыз
Нақты айырмашылықтың бір құжатталған мысалы — ата-ана домен шекарасы. curl-дың доменді болдырмауы аталған доменді және сәйкес келетін балаларды қамтиды. .NET орта саясаты жалаң атауды бастапқы нүктелі ішкі домен пішінінен ажыратады. Әрқашан бастапқы нүкте қос деген әмбебап ереже екі саясатты да сенімді түрде білдіре алмайды.
IP диапазондарын қолдау да тұтынушыға және оның нұсқасына байланысты. Жаңа дербес curl-ы бар машина әлі де ескі libcurl-ға байланған қолданбаны немесе мүлдем басқа кітапхананы пайдаланатын клиентті іске қоса алады. Операциялық жүйе шығарылымы клиенттердің толық тізімі емес.
Әр тұтынушы үшін оның қолдау көрсетілетін конфигурация интерфейсін және жоспарланған маршруттардың ең кішкентай өрнегін жазыңыз. Қысқа айқын хосттар тізімі мағынасын ешкім түсіндіре алмайтын айлакер үлгіден жақсы болуы мүмкін.
Конфигурация дәлелдерін қосылым дәлелдерінен бөлек ұстаңыз
Талданған параметр немесе маршруттау шешімдерінің API-і бағдарламаның нені таңдағанын көрсете алады. Сұраныс нәтижесі сол маршруттың пайдалануға жарамды екенін көрсетеді. .NET-те, HttpClient.DefaultProxy.IsBypassed әдепкі прокси пайдаланылатын саясат болған кезде сол конфигурация жағындағы тексеруді қамтамасыз етеді. Қол жетпейтін тікелей қызметті тек сұраныс уақыты біткені үшін айналып өту талдаушысының ақауы деп диагностикаламаңыз.
Клиентті немесе негізгі бейнені жаңартқанда шекаралық мақсаттарды сақтаңыз. Олар болашақ үйлесімділік өзгерістерін көрінетін етеді, бүкіл топ файлда неге екі ұқсас домен жазбасы бар екенін қайта ашуға мәжбүр болмай.