Um proxy geral pode não servir para todas as fontes de pacotes. O Yarn moderno oferece suporte a configurações de rede por nome de host, permitindo que um host selecionado use uma rota diferente da padrão.

Por exemplo, um projeto pode manter uma rota geral e selecionar outra para um registro interno:

httpsProxy: "http://203.0.113.10:8080"
networkSettings:
  "registry.example.internal":
    httpsProxy: "http://203.0.113.20:8080"

Os dois endereços são exemplos. Para uma rota geral para fontes públicas de pacotes, a lista de proxies HTTP oferece candidatos quando proxies públicos são permitidos. Mantenha a substituição do registro interno no proxy aprovado. Coloque a configuração no .yarnrc.yml apropriado para uma versão moderna do Yarn. Este exemplo seleciona dois proxies; ele não diz que o host interno deve se conectar diretamente.

Combine com o nome de host solicitado

A entrada networkSettings se aplica a um padrão de nome de host, não a um escopo de pacote nem a um caminho de URL arbitrário. Mantenha exata uma regra de host único quando é isso que você quer dizer. Um curinga só é útil quando você realmente pretende que os hosts adicionais compartilhem a configuração.

Um escopo de pacote e um nome de host de rede são seletores diferentes. Um pacote com escopo pode ser obtido de um registro cujo host é compartilhado com outros pacotes, enquanto um artefato redirecionado pode vir de outro nome de host completamente.

Siga o caminho completo de download

Se os metadados usam um host e o download do arquivo usa outro, eles podem corresponder a configurações de rede diferentes. Registre a URL que realmente falha antes de ampliar a regra. “O registro funcionou” não estabelece qual rota uma solicitação posterior selecionou.

As configurações por host do Yarn também podem incluir CA e outras configurações de TLS. Mantenha essas decisões separadas: escolher um endereço de proxy não fornece por si só a confiança necessária para um ambiente de inspeção.

Torne a substituição visível

Inspecione a configuração efetiva do projeto com as ferramentas compatíveis com a versão do Yarn usada e depois teste a solicitação pretendida. Evite compartilhar um dump completo da configuração se ele incluir credenciais.

Este recurso é útil quando os hosts realmente exigem rotas diferentes. Se toda solicitação deve usar o mesmo endpoint, uma única configuração geral é mais fácil de manter do que uma lista crescente de substituições de nome de host idênticas.

Artigos relacionados