Git clone error "HTTP code 504 from proxy after CONNECT"

46,280

Solution 1

Problem solved.

Windows: Before connecting Bitbucket (AKA stash) you need to clean all proxies from both Git and console environment:

SET HTTP_PROXY=
SET HTTPS_PROXY=
git config --global --unset http.proxy
git config --global --unset https.proxy
git clone http://yourUser@stashAddress:stashPort/apptest.git

But if you need to connect to public repositories like github, then it's necessary to define proxies again:

SET HTTP_PROXY=proxyaddress:port
SET HTTPS_PROXY=proxyaddress:port
git config --global http.proxy http://proxyaddress:port
git config --global https.proxy http://proxyaddress:port

I think it may be useful for other developers working behind corporate firewalls.

Linux

unset HTTP_PROXY
unset HTTPS_PROXY
git config --global --unset http.proxy
git config --global --unset https.proxy
git clone http://yourUser@stashAddress:stashPort/apptest.git

To define proxies again:

export HTTP_PROXY=proxyaddress:port
export HTTPS_PROXY=proxyaddress:port
git config --global http.proxy http://proxyaddress:port
git config --global https.proxy http://proxyaddress:port

Take care with uppercase of environment variables. Some OS versions may need lowercase or may have defined lowercase variables by default.

Solution 2

Problem Solved in SourceTree

Hoping this might be of any help to other developers who use (like I do) SourceTree on Windows. Many thanks to @manuelbcd for his initial answer.

I was experience a similar problem (HTTP status code was 502 with the same error message) when I was trying to fetch, pull or push from the BitBucket, and no extra configuration was done in my local git configuration, and I could not understand why I was getting this error.

SOLUTION In the list of the Environment Variable (Windows 7) HTTP_PROXY and HTTPS_PROXY were set. Since I did not need them I removed from there and relaunched SourceTree.

In order to find the Environment Variable (Windows 7) click on Start and type enviro. At the top of the menu comes out the line Edit environment variable..., click on it, remove/rename the variable and save.

Relaunch SourceTree at the end.

Solution 3

If you definitely need the proxy and can't remove it (eg: if you're on a corporate proxy) then just use the ssh to clone the repo.

Share:
46,280
manuelbcd
Author by

manuelbcd

Software development and architecture enthusiast since I was a kid. I love to understand business problems and create solutions. I have programmed in C++, .Net, PHP and Go (and some experiments with Java, Pascal, Assembler, ARM). One of the best ways to improve development skills is to try to help others. I'm also trying to return some of the knowledge that StackOverflow lent to me.

Updated on July 10, 2022

Comments

  • manuelbcd
    manuelbcd almost 2 years

    I'm working in a office behind a corporate firewall. My System is windows7, using componentes consola. Usually I need to set up proxy connections to get GIT working with github.

    But when I try to clone a repository sored in a private Stash (Atlassian) I get this error:

    Cloning into 'apptest'...
    fatal: unable to access 'https://[email protected]:xxxx/apptest/apptest.git
    /': Received HTTP code 504 from proxy after CONNECT
    

    I have unsetted git proxy but I'm still facing same problem. Please note that I'm using GITshell over Windows 7

    Any help would be appreciated.

    Regards