Un equipo coloca unha cadea de omisión nun ficheiro de ambiente compartido. curl vai directo, outra aplicación usa o proxy e un contedor compórtase doutro xeito. O ficheiro compartido distribuía os mesmos caracteres. Pero non distribuía un analizador compartido.

O obxecto duradeiro é a política: que destinos deben ser directos e en que condicións? Mantéña separada da cadea que necesita cada programa.

Escriba primeiro as rutas esperadas

Use enderezos representativos, incluídos os límites e non só os éxitos fáciles:

Forma do destinoPregunta para o responsable da política
Dominio paiDebe omitirse, ou só os seus fillos?
Un subdominioHereda a mesma ruta?
Unha IP privada literalÉ accesible ese enderezo directamente desde este cliente?
O mesmo servizo baixo un nome de hostDeben coincidir as solicitudes por nome e por enderezo?
Outro porto de servizoA excepción cobre o host ou un só oínte?

Despois identifique os consumidores: o daemon que descarga unha imaxe, o programa dentro do contedor, unha biblioteca HTTP dunha linguaxe e un navegador interactivo poden ser entradas separadas. Unha configuración de proxy do cliente Docker pode encher valores de ambiente do contedor sen que cada cliente interno teña que implementar as mesmas regras de coincidencia.

Traduza en lugar de copiar a cegas

Un exemplo documentado dunha diferenza real é o límite do dominio pai. A exclusión de dominio de curl cobre o dominio nomeado e os fillos coincidentes. A política de ambiente de .NET distingue o nome espido da forma de subdominio con punto inicial. Unha regra universal de engadir sempre un punto inicial non pode expresar ambas as políticas de forma fiable.

A compatibilidade con rangos IP tamén depende do consumidor e da súa versión. Unha máquina cun curl autónomo novo aínda pode executar unha aplicación ligada a un libcurl máis antigo, ou un cliente que use unha biblioteca completamente distinta. A versión do sistema operativo non é un inventario completo de clientes.

Para cada consumidor, rexistre a súa interface de configuración admitida e a expresión máis pequena das rutas previstas. Unha lista curta e explícita de hosts pode ser mellor que un patrón enxeñoso cuxo significado ninguén pode explicar.

Manteña a evidencia de configuración separada da evidencia de conexión

Unha configuración analizada ou unha API de decisións de encamiñamento pode mostrar que seleccionou o programa. O resultado dunha solicitude mostra despois se esa ruta era utilizable. En .NET, HttpClient.DefaultProxy.IsBypassed proporciona esa comprobación do lado da configuración cando o proxy predeterminado é a política en uso. Non diagnostique un servizo directo inalcanzable como un fallo do analizador de omisión só porque a solicitude esgotou o tempo.

Conserve os destinos límite ao actualizar un cliente ou unha imaxe base. Fan visibles os cambios futuros de compatibilidade sen que todo o equipo teña que redescubrir por que o ficheiro contén dúas entradas de dominio parecidas.

Artigos relacionados