Un proxy local que escoita xunto a unha aplicación non reproduce unha rede que require acceso mediante proxy. A aplicación pode ignorar o proxy configurado, conectarse directamente e aínda así informar de éxito.

Separe a rede da aplicación do camiño de saída do proxy. Unha disposición baseada en contedores coloca a aplicación só nunha rede interna e dálle ao proxy unha segunda rede de saída. Nunha definición de Compose existente, as conexións de rede poden verse así:

services:
  app:
    networks: [clients]
  proxy:
    networks: [clients, egress]
networks:
  clients:
    internal: true
  egress: {}

Este é un fragmento de rede para servizos xa definidos. Configure o proxy de reenvío aprobado e o cliente real da aplicación por separado. Docker documenta as redes internas como illadas do exterior; nesta disposición só o proxy ten a rede exterior adicional.

Inclúa un caso negativo sen uso do proxy: a solicitude externa da aplicación debería fallar. Nun proxy HTTP autenticado, unha conta rexeitada debería producir o seu erro de autenticación, mentres que a conta aceptada debería acadar o obxectivo coa correspondente observación do proxy.

Probe por separado os casos permitidos e denegados do proxy. Manteña a aplicación fóra doutras redes externas e evite engadir un modo de rede de host que omita o proxy. Unha solicitude correcta é unha proba útil só cando a proba ofrece xustamente a ruta prevista.

Artigos relacionados