Using GitHub Behind a Proxy (Windows)

At work I am connected to the internet through a proxy. The proxy prevented me from connecting to repositories on GitHub because authentication isn’t handled properly. A co-worker recommended using the CTNLM proxy (http://cntlm.sourceforge.net/) to handle the authentication.

CNTLM works well, but he said he was having a problem with slow connections. He said he found an issue where the proxy would try multiple times to connect and would timeout and finally connect to the Git server. He noticed that it was trying to connect to local host as with ::1, like a funky empty IPv6 address. He said that adding a proxy to .gitconfig (global or systemwide config) would cause it to connect faster without having to wait for all the different connection try and failures:

[http]
proxy = http://127.0.0.1:3128
[https]
proxy = http://127.0.0.1:3128

Why does this work? I don’t have enough geek cred to know this yet, but it works and I wanted to save it here for the time I have to setup a new computer and I forget what I did.

One comment

  1. Jo

    One reason this can happen is that localhost maps to multiple addresses, one IPv4 and one IPv6. (Remember that DNS allows multiple IPs for any hostname.) Now if the local server answers just on IPv4, the IPv6 attempt will fail.
    Approach 1: Make sure that all services answer both on IPv4 and IPv6 (which is the sane thing to do anyway).
    Approach 2: Enter the IPv4 address. Now it does not matter whether IPv6 is there or not.

Leave a reply to Jo Cancel reply