Usando o Watcher Com um Proxy

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

Informações sobre como enviar resultados para o axe Developer Hub através de um proxy web

Not for use with personal data

Proxies HTTP permitem que uma organização audite os dados que atravessam a rede. Eles são normalmente configurados usando variáveis de ambiente. Este documento detalha como configurar o suporte a proxies no Watcher (versão 4.0.0 ou posterior).

Requisitos

Para usar o suporte a proxies, você precisa de um software de proxy em execução localmente ou nos servidores da sua organização. Para usar o proxy, você precisa do endpoint HTTPS e seu certificado (para autorizá-lo na sua máquina).

important

Ao usar os servidores hospedados pela Deque, o HTTPS é o único protocolo suportado. Ao hospedar sozinho, você pode usar HTTP e também precisará do endpoint HTTP do proxy. Ele *deve* ser o mesmo domínio e porta que o HTTPS (443), mas verifique para ter certeza.

Configuração

A configuração de proxies para o Watcher é feita inteiramente através de variáveis de ambiente. Estas são divididas em dois grupos.

As variáveis de ambiente de proxy "padrão":

  • HTTPS_PROXY - O endpoint usado para o protocolo HTTPS para comunicação
  • HTTP_PROXY - O endpoint usado para o protocolo HTTP para comunicação
  • NO_PROXY - Uma lista separada por vírgulas de nomes de hosts que não devem passar por nenhum proxy

As variáveis de ambiente do axe Watcher e Node.js:

  • AXE_WATCHER_USE_ENV_PROXY - Alvo somente o Watcher para modificar o suporte ao proxy
  • AXE_USE_ENV_PROXY - Alvo qualquer coisa do axe que também suporte esta variável para utilizar um proxy
  • NODE_USE_ENV_PROXY - Maneira nativa do Node.js (a partir da versão 24 ou posterior) para optar por todas as requisições de rede para usar um proxy
  • NODE_EXTRA_CA_CERTS - Variável nativa do Node.js para fornecer certificados CA confiáveis para conexões HTTPS

Quando qualquer uma das AXE_* variáveis está configurada para 1, o uso de proxy é habilitado. NODE_USE_ENV_PROXY foi introduzido na versão 24 do Node.js para habilitar isso globalmente para o processo, e foi retrocompatilizado para o Watcher suportá-lo em todas as versões.

Para habilitar o proxy para o Node.js, mas desativá-lo para o Watcher, qualquer uma das AXE_* variáveis pode ser configurada para 0.

important

Somente 1 e 0 são reconhecidos. Qualquer valor fora destes fará com que o suporte ao proxy seja desativado por padrão.

Para HTTPS, o certificado de autoridade de certificação fornecido pelo seu proxy deve ser especificado com NODE_EXTRA_CA_CERTS, para que a conexão não seja rejeitada como não confiável. Este valor é um caminho para o arquivo de certificado.

Exemplos de Uso

Existem duas principais maneiras de configurar variáveis de ambiente:

  1. Configurar para a máquina ou trabalho de CI que está realizando o processamento. Isto os torna disponíveis globalmente durante a vida útil da máquina ou do trabalho.
  2. Fornecer antes de um comando no terminal para que existam apenas durante a vida útil desse processo.

Um exemplo de como configurar variáveis de ambiente de proxy em um arquivo de fluxo de trabalho do GitHub Action:

# Setup of the workflow and jobs
      - steps:
      - name: Run Tests
        env:
          HTTPS_PROXY: https://localhost:9090
          NODE_EXTRA_CA_CERTS: ~/path/to/ca.pem
          AXE_WATCHER_USE_ENV_PROXY: 1
        run: npm run test

Aqui está um exemplo de como usar variáveis de ambiente de proxy localmente para executar um único comando:

AXE_WATCHER_USE_ENV_PROXY=1 HTTPS_PROXY=https://localhost:9090 NODE_EXTRA_CA_CERTS=~/path/to/ca.pem npm run test

Proxy Condicional na versão 24 ou Posterior do Node.js

Na versão 24 do Node.js (ou posterior), NODE_USE_ENV_PROXY é habilitado por padrão para todas as requisições, então você pode querer desativar condicionalmente o proxy para o Watcher em cenários de teste.

Isso pode ser alcançado usando NO_PROXY para instruir o sistema a permitir que o domínio evite proxy. O seguinte exemplo permite que o proxy seja usado para todas as requisições iniciadas pelo Node.js, mas não o use para as que visam axe.deque.com ou example.com:

NODE_USE_ENV_PROXY=1 HTTPS_PROXY=https://our.intranet/proxy NO_PROXY=axe.deque.com,example.com npm run test

A razão para usar NO_PROXY é que, mesmo que você tente desativar o uso de proxy do axe Watcher, ele herda o despachante de requisições globais, o que significa que se NODE_USE_ENV_PROXY estiver habilitado, ele ainda teria precedência e usaria o proxy.