Satu pasukan meletakkan satu rentetan pintasan ke dalam fail persekitaran yang dikongsi. curl pergi terus, aplikasi lain menggunakan proksi, dan kontena berkelakuan berbeza semula. Fail kongsi itu mengedar aksara yang sama. Ia tidak mengedar satu penghurai kongsi.

Objek yang tahan lama ialah dasar: destinasi mana yang patut terus, di bawah syarat apa? Asingkan itu daripada rentetan yang diperlukan setiap program.

Tulis laluan yang dijangka dahulu

Gunakan alamat wakil, termasuk kes sempadan dan bukan hanya kejayaan mudah:

Bentuk destinasiSoalan untuk pemilik dasar
Domain indukPatutkah ia dipintas, atau hanya anak-anaknya?
SubdomainAdakah ia mewarisi laluan yang sama?
IP peribadi literalAdakah alamat itu boleh dicapai terus dari klien ini?
Perkhidmatan yang sama di bawah nama hosPatutkah permintaan berasaskan nama dan berasaskan alamat bersetuju?
Port perkhidmatan lainAdakah pengecualian meliputi hos atau satu pendengar?

Kemudian kenal pasti pengguna: daemon yang menarik imej, program di dalam kontena, pustaka HTTP bahasa, dan pelayar interaktif semuanya boleh menjadi entri berasingan. Konfigurasi proksi klien Docker boleh mengisi nilai persekitaran kontena tanpa memaksa setiap klien di dalam melaksanakan peraturan pemadanan yang sama.

Terjemah dan bukan menyalin secara buta

Satu contoh berdokumen bagi perbezaan sebenar ialah sempadan domain induk. Pengecualian domain curl meliputi domain bernama dan anak yang sepadan. Dasar persekitaran .NET membezakan nama kosong daripada bentuk subdomain bertitik di hadapan. Peraturan universal „sentiasa tambah titik di hadapan“ tidak dapat menyatakan kedua-dua dasar dengan boleh dipercayai.

Sokongan julat IP juga bergantung pada pengguna dan versinya. Mesin dengan curl kendiri baharu masih boleh menjalankan aplikasi yang dipautkan kepada libcurl lama, atau klien yang menggunakan pustaka lain sepenuhnya. Keluaran sistem pengendalian bukan inventori klien yang lengkap.

Bagi setiap pengguna, rekod antara muka konfigurasi yang disokong dan ungkapan terkecil bagi laluan yang dimaksudkan. Senarai hos eksplisit yang pendek boleh lebih baik daripada corak pintar yang maknanya tiada siapa dapat jelaskan.

Asingkan bukti konfigurasi daripada bukti sambungan

Tetapan yang dihurai atau API keputusan penghalaan boleh menunjukkan apa yang dipilih oleh program. Hasil permintaan kemudian menunjukkan sama ada laluan itu boleh digunakan. Dalam .NET, HttpClient.DefaultProxy.IsBypassed menyediakan semakan sebelah konfigurasi itu apabila proksi lalai ialah dasar yang digunakan. Jangan diagnosis perkhidmatan terus yang tidak dapat dicapai sebagai kegagalan penghurai pintasan semata-mata kerana permintaan tamat masa.

Kekalkan destinasi sempadan apabila mengemas kini klien atau imej asas. Ia menjadikan perubahan keserasian masa depan kelihatan tanpa memerlukan seluruh pasukan menemui semula mengapa fail itu mengandungi dua entri domain yang kelihatan serupa.

Artikel berkaitan