Usando Python Pip por trás do firewall Sophos com certificado

0

Eu tenho esse problema usando pip no meu local de trabalho desde que o Administrador do Sistema começou a usar o Firewall Sophos XG com uma CA personalizada instalada no sistema local do windows e no firefox. Não tenho configurações de proxy configuradas em nenhum dos clientes.

Quando tento algo, isso acontece.

C:\Users\talha.ahmed>pip install objdict
Collecting objdict
  Retrying (Retry(total=4, connect=None, read=None, redirect=None)) after connection broken by 'ConnectTimeoutError
(<pip._vendor.requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x0000000003A3B4A8>, 'Connecti
on to 10.10.2.124 timed out. (connect timeout=15)')': /simple/objdict/
  Retrying (Retry(total=3, connect=None, read=None, redirect=None)) after connection broken by 'ConnectTimeoutError
(<pip._vendor.requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x0000000003A3B588>, 'Connecti
on to 10.10.2.124 timed out. (connect timeout=15)')': /simple/objdict/
  Retrying (Retry(total=2, connect=None, read=None, redirect=None)) after connection broken by 'ConnectTimeoutError
(<pip._vendor.requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x0000000003A3BC88>, 'Connecti
on to 10.10.2.124 timed out. (connect timeout=15)')': /simple/objdict/
  Retrying (Retry(total=1, connect=None, read=None, redirect=None)) after connection broken by 'ConnectTimeoutError
(<pip._vendor.requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x0000000003A3B780>, 'Connecti
on to 10.10.2.124 timed out. (connect timeout=15)')': /simple/objdict/
  Retrying (Retry(total=0, connect=None, read=None, redirect=None)) after connection broken by 'ConnectTimeoutError
(<pip._vendor.requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x0000000003A3BB38>, 'Connecti
on to 10.10.2.124 timed out. (connect timeout=15)')': /simple/objdict/
  Could not find a version that satisfies the requirement objdict (from versions: )
No matching distribution found for objdict

Note que ele está recebendo um tempo limite para conectar-se ao 10.10.2.124 (que não é o gateway / proxy), em vez de pypi.python.org, que talvez seja algum tipo de servidor local ou um modem ou algo assim.

No entanto, posso acessar o link usando meu firefox e fazer o download dos pacotes manualmente. Quando faço isso, posso ver o firefox usando o certificado fake sophos e tudo parece funcionar bem.

Eu já tentei usar a opção --cert no pip e tentei adicionar o certificado ao arquivo C: \ Python27 \ Lib \ site-packages \ pip_vendor \ requests \ cacert.pem. Usando as opções --proxy em várias combinações, conforme sugerido por várias discussões sobre SO e SU.

Então, você pode sugerir que deveria ser minha próxima abordagem?

    
por LazyLeopard 28.09.2016 / 09:20

1 resposta

0

O problema desapareceu quando usamos as variáveis http_proxy e https_proxy para especificar o proxy para pip. Aparentemente, o pip estava ignorando a opção --proxy da linha de comando, no entanto, ele leu as variáveis de ambiente.

O Pip usa as configurações de proxy das <"opções de internet" do sistema Windows, usadas pelo chrome e pelo Internet Explorer, mas ignoradas pelo Firefox. No meu caso particular, as opções de internet foram configuradas para usar o proxy em 10.10.2.124 (errado), que eu também não precisava.

Remover a verificação de proxy de "opções de internet" alivia a necessidade de especificar a variável de ambiente. A única coisa que resta a dizer é o certificado que pode ser feito usando a opção --cert.

    
por 28.09.2016 / 12:02