Estou em uma rede usando um proxy. Eu tenho máquinas usando muitos scripts aqui e ali acessando-se através de HTTP.
- A rede é 10.0.0.0/8.
Meu proxy é 10.1.1.1:81, então eu o configurei de acordo:
export http_proxy=http://10.1.1.1:81/
Quero excluir meu próprio intervalo para ser acessado com o proxy. Eu tentei qualquer combinação disponível.
export no_proxy='10.*' export no_proxy='10.*.*.*' export no_proxy='10.0.0.0/8'
Nenhum dos trabalhos acima!
Estou testando wget
e ele sempre tenta consultar o proxy, seja qual for o endereço IP ao qual eu queira me conectar.
- Como muitos scripts estão em todos os lugares em todos os sistemas, a
--no-proxy
opção não é realmente uma opção. Eu quero configurá-lo em todo o sistema.
bash
wget
curl
http-proxy
SamK
fonte
fonte
no_proxy
variável de ambiente? Que diabos Linus Torvalds !!Respostas:
Você está olhando da maneira errada. A
no_proxy
variável de ambiente lista os sufixos do domínio, não os prefixos. A partir da documentação :Portanto, para IPs, você tem duas opções:
1) Adicione cada IP na íntegra:
2) Rename
wget
parawget-original
e escrever um script (chamadowget
) que procura o IP para a determinado host da URL, e determina se ele deve usar o proxy ou não:fonte
/etc/environment
arquivo, isso poderá danificar seu servidor.info wget
diz:Portanto, a variável deve conter uma lista de domínios , não intervalos de IP . Você precisará configurar aliases locais apropriados para suas máquinas locais nos
/etc/hosts
arquivos.Além disso, lembre-se de que a configuração de uma variável de ambiente não garante que um proxy seja ou não usado. É apenas uma informação que pode ser usada por programas que a suportam.
fonte
Não é exatamente uma solução correta, mas pode resolver o problema para você. Se você presumir que acessar qualquer coisa de fora do proxy estará usando nomes DNS e não diretamente usando endereços IP, é possível configurá-lo como:
Até onde eu sei, nenhum domínio superior termina com um número; portanto, se o fizer, deve ser um endereço IP.
fonte
Aqui está uma abordagem um pouco mais simples (uma linha) com base na solução da janmoesen.
que foi aprimorado ainda mais com base na contribuição de Cory Ringdahl:
sed engasga com todos os argumentos passados a partir da expansão de
10.1.{1..255}.{1..255}
, no código dele ou no meu. Portanto, se você realmente precisar expandir para endereços IP 256 * 256, poderá adaptar ainda mais a abordagem de Cory Ringdahl, mas se você precisar apenas de 256 ou mais, um desses deve funcionar perfeitamente para você.Eu estou supondo que a versão em que 2 octetos são expandidos ficaria assim:
mas o iTerm está me dando erros sobre as listas de argumentos serem muito longas, então não posso dizer com certeza se existe uma solução para fazer isso funcionar ...
fonte
"export no_proxy=`echo 10.1.1.{1..254},`10.1.1.255"