Verwenden von Python Pip hinter der Sophos Firewall mit Zertifikat

1367
LazyLeopard

Ich habe dieses Problem bei der Verwendung von pip an meinem Arbeitsplatz, seit der Systemadministrator die Sophos XG Firewall mit einer benutzerdefinierten Zertifizierungsstelle verwendet, die in meinem lokalen Windows-System und in Firefox installiert ist. Ich habe in keinem der Clients Proxy-Einstellungen konfiguriert.

Wenn ich etwas versuche, passiert das.

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 

Beachten Sie, dass es eine Zeitüberschreitung beim Verbindungsaufbau zu 10.10.2.124 (was nicht das Gateway / Proxy ist) bekommt, anstatt pypi.python.org, was möglicherweise eine Art lokaler Server oder ein Modem oder so etwas ist.

Ich kann jedoch mit meinem Firefox auf https://pypi.python.org/simple/objdict/ zugreifen und die Pakete manuell herunterladen. Wenn ich das sehe, kann ich Firefox mit dem gefälschten Sophos-Zertifikat sehen und alles scheint gut zu funktionieren.

Ich habe bereits versucht, die --certOption on pip zu verwenden, und habe versucht, das cert der Datei C: \ Python27 \ Lib \ site-packages \ pip_vendor \ request \ cacert.pem hinzuzufügen. Verwendung der --proxyOptionen in verschiedenen Kombinationen, wie in verschiedenen Diskussionen zu SO und SU vorgeschlagen.

Können Sie also meinen nächsten Ansatz vorschlagen?

0

1 Antwort auf die Frage

0
LazyLeopard

Das Problem wurde behoben, als die Variablen http_proxyund verwendet wurden https_proxy, um den Proxy für pip anzugeben. Offenbar ignorierte pip die --proxyOption von der Kommandozeile, las jedoch die Umgebungsvariablen.

Pip verwendet Proxy-Einstellungen aus den "Internetoptionen" des Windows-Systems, die von Chrome und Internet Explorer verwendet werden, aber von Firefox ignoriert werden. In meinem speziellen Fall waren Internetoptionen so eingestellt, dass der Proxy am 10.10.2.124 (falsch) verwendet wurde, was ich auch nicht benötigte.

Durch das Entfernen der Proxy-Überprüfung aus "Internetoptionen" wird die Angabe der Umgebungsvariablen tatsächlich überflüssig. Das einzige, was noch zu sagen ist, ist das Zertifikat, das mit der Option --cert ausgeführt werden kann.