247

I installed Git to get the latest version of Angular. When I tried to run

git clone https://github.com/angular/angular-phonecat.git

I got:

failed to connect to github 443 error

I even tried

git clone git://github.com/angular/angular-phonecat.git

That gave me

failed to connect no error message

I am behind my company firewall. I can not see my proxy details when I go to Control PanelInternet OptionsConnectionsLAN setting. The IT guys are not sharing proxy information with me. What can do?


I finally managed to do it. I will update the procedure that I had taken in order to. I just wanted to compile all the steps that I did to get it to work.

7
  • See this question on how to setup a proxy with git on Windows stackoverflow.com/q/16153450/579234 Commented Mar 3, 2016 at 18:14
  • I realised that this can happen too if you just spam github with push requests from the terminal. And yes I realised that while inconsiously spamming. Edit: It has nothing to do with the proxy settings, but you can still get a 443 error. Commented Jun 9, 2020 at 22:35
  • If u have socks5 proxy, simply use git config --global http.proxy 127.0.0.1:1080 where 127.0.0.1 is the proxy URL, 1080 is the port. Commented Jun 16, 2021 at 0:42
  • On Windows, presumably. But what command line environment? Git Bash? Cmd? PowerShell? WSL? Cygwin? Commented Feb 24, 2023 at 4:42
  • What are the actual literal error messages? Commented Feb 24, 2023 at 5:09

28 Answers 28

436

Well, I did the following steps

  1. Google the error

  2. Got to SO links (here, here) which suggested the same thing that I have to update the Git configuration for proxy setting

  3. Damn, I can not see proxy information from Control Panel. The IT guys must have hidden it. I can not even change the setting to not to use a proxy.

  4. I found this wonderful tutorial of finding which proxy your are connected to

  5. Updated the http.proxy key in the Git configuration by the following command

    git config --global http.proxy http[s]://userName:password@proxyaddress:port
    
  6. Error - "could not resolve proxy some@proxyaddress:port". It turned out my password had a @ symbol in it.

  7. Encode @ in your password to %40, because Git splits the proxy setting by @

  8. If your userName is an email address, which has @, also encode it to %40. (see this answer)

     git config --global http.proxy http[s]://userName(encoded):password(encoded)@proxyaddress:port
    

Baam! It worked!

Sign up to request clarification or add additional context in comments.

13 Comments

How is this encoding done. Could you translate http://johndoe:f@tm@[email protected]:80 into the encoded version, please? The last @ need not be encoded
Sidenote: Splitting the credentials from the url using @ is not unique to github. This is actually part of the url standard.
Unless your proxy requires a username and password, you don't need the "userName:password@" portion.
@Anand But I am not even on a proxy server, then what should I do to fix this error? What do I put in the proxy server? I am not using any proxy
@Anand. Thanks for your explanation. i had an @ symbol in my password and your details explanation helped me.
|
82

If your Git installing was already set to something and you only copied that folder to some other location, simply run:

git config --global http.proxy ""

And Git will set itself straight. After what, you can pull again :)

1 Comment

44

If your country or working environment blocks sites like Github.

Then you can build a proxy, e.g. use xxnet, which is free & based on Google's GAE, and available for Windows / Linux / Mac.

Then set proxy address for git, e.g:

git config --global http.proxy 127.0.0.1:8087

Comments

30

If you are not using a proxy and are still facing this issue, you should use the below command line:

git config --global --unset http.proxy

Simply hit this command, and this will fix the issue.

2 Comments

Still not working
Worked for me but still don't know the damaged or the desadvantages
25

Mine was fixed by just using this command:

git config --global http.proxy XXX.XXX.XXX.XXX:ZZ

where XXX.XXX.XXX.XXX is the proxy server address and ZZ is the port number of the proxy server.

There wasn't any need to specify any username or password in my case.

1 Comment

worked! also support socks5 proxy, my cmd is git config --global http.proxy 127.0.0.1:1080
18

I got so:

git config --global http.proxy http://{domain}\\\{username}:{password}@{proxy ip}:{proxy port}

git config --global http.sslverify false

1 Comment

Two slashes for me not three: {domain}\\{username}
18

Option 1 : Windows specific

Restart your machine

Option 2 : Unset your proxy

git config --global --unset https.proxy

2 Comments

For me it was "bounce my internet router" (phone in my case) LOL
For me, restarting my windows PC fixed it. Could it be a memory issue that caused it? I've ran some programs that used up a lot of memory.
14

I have wide experience working with corporate proxies.

If you have configured the proxy and it's impossible to work with Git (always getting a 443 error), try to check if you have a remote.origin.proxy bypassing your configuration.

git config --list --show-origin

If you check that "remote.origin.proxy" is configured as an empty value, try to unset it or almost set it with your corporate proxy:

git config --add remote.origin.proxy "http://[yourproxy]:[yourport]"

And since several enterprise sites have untrusted certificates, I recommend you to avoid certificate checking if you are using SSL:

git config http.sslverify false
git config --global http.sslverify false

1 Comment

Something seems to be missing near "working well with".
11

The same problem happened to me in Windows using Git for Windows.

I set a proxy setting as usual:

git config --global http.proxy http://username:[email protected]:port

In my situation, the username is email, so it has a @ sign. After encoding the @ sign with %40 in the username, the problem is resolved.

So, encode the special characters not only in the password, but also in the username. (Refer to the comments of this answer.)

1 Comment

but after adding gobal proxy , connection is getting refused from my work repo , it is not getting connected 443 error
7

ipconfig /renew - solved this issue for me.

Comments

6

I was getting the same error in Sourcetree.

Go to menu ToolsOptionsNetwork and check Add proxy server configuration to Git/Mercurial if you had already set the proxy settings.

Comments

5

On Windows 7, setting the proxy to the global configuration will resolve this issue

git config --global http.proxy http://user:password@proxy_addr:port

But the problem here is your password will not be encrypted... Hopefully that should not be much problem as most of time you will be the sole owner of your PC.

2 Comments

To encrypt password, use CNTLM, see here: stackoverflow.com/a/18618941/579234
if you set the Proxy to user@proxy_addr:port, simply omitting the Password, git will work, giving you a Login prompt for your Proxy server when you connect. That works quite nicely.
3

My problem was solved using this command

git config --global http.proxy http://login:password@proxyServer:proxyPort

Comments

2

If using an SSH configuration file, my issue was that the ~/.ssh/config file was not specified correctly. From Enabling SSH connections over HTTPS:

Host github.com
  Hostname ssh.github.com
  Port 443

Comments

2

I'm behind a proxy in Windows 10 (and in Windows 11), git 2.32.0.window.1. This is what worked for me.

Checking What You Have

Check your global configurations using:

git config --global --list

You should see the settings for user.name, user.mail, etc. Having the following lines in place fixed the problem for me:

http.proxyauthmethod=basic
http.proxy=http://username:password@proxyaddress:port
https.proxy=https://username:password@proxyaddress:port

Notice these are settings for both HTTP and HTTPS protocols. If you don't see both, you'll have to set them.

Setting The Proxy

Use this line of code in your console, for both protocols:

git config --global https.proxy https://username:password@proxyaddress:port

And, if necessary:

git config --global http.proxy http://username:password@proxyaddress:port`

If you don't know what the proxy and ports are, look for Internet Options (or properties) window menu in your Windows system (Control Panel).

Internet Properties (window)Connections (tab) → LAN Settings (button) → Proxy Server (section) → Advanced (button)

And, remember to replace all values (id est: username, password, proxyaddress, and port) with the actual ones (in proxyaddress you'll have to set up an IP address).

Keep in mind that you may need to leave some of those values empties (because they are not required by your proxy). For example, one time I had to set:

git config --global http.proxy http://:@10.1.33.244:81

As you may noticed, no user name or password were needed.

Useful Bash script

Since I have to set and unset the proxy configuration of my system on a daily basis, I've made this little script you main find useful: Gist

Note

If you need to access GitLab, you may need to follow these steps after the ones I've just described: GitLab authentication requires tokens

When you try to clone the repository, you'll be prompted for your GitLab username and password. Instead of entering your regular password, you need to provide a generated token instead. The username is the same.

5 Comments

This gave me a "Unsupported proxy syntax in 'proxyaddress:port'."
@LukePerez probably it's a problem specific to your system. If you were the one downvoting the answer, please, remove it. It worked on my system. If it were a wrong solution in deed, we would need more people reporting it is, one case is not enough. Can you provide more information about your problem? That would be useful for finding a solution.
@BeauregardLionett Did you replace the words with the actual values? It should be some ip number for proxy and port number.
Probably, I've asked that in August last year though, can't remember now.
I remember solving it, can't recall how.
2

What worked for me is a bit convenient, but none of the previous answers said it:

Solution:

I had to unset both http.proxy and https.proxy

git config --global --unset http.proxy
git config --global --unset https.proxy

2 Comments

What do you mean by "What worked for me is a bit convenient"?
What I meant was : I had to unset both http.proxy and https.proxy which was kind of tricky but I don't understand why @PeterMortensen
1

I'm also on a company VPN connected to GitHub. I ended up just using GitHub Desktop and that didn’t have any problems.

It is definitely not a fix, but a workaround.

Comments

0

Before you try the fancy stuff, try disabling the firewall and antivirus and see if it works. That was my problem.

1 Comment

And then? To "make it work" may be insecure. What was the real problem?
0

I got an error when I used

<git config --global http.proxy http://user:password@proxy_addr:port>

The error is that the configuration file cannot be identified as there isn't any such file. I changed the command to

<git config --system http.proxy http://user:password@proxy_addr:port>

I am running Git on the Windows 7 command prompt. The above command references the configuration file in GIT_HOME/etc/gitconfig. The --global option does not.

2 Comments

Are the brackets (<>) actually part of it? They aren't in the other answers. Can you elaborate (or change it)?
OK, the OP has left the building: "Last seen more than 4 years ago"
0

For me, I have to set the https_proxy and http_proxy in addition to the Git proxy configuration. Only then did it work.

Comments

0

I am using MSYS2 Git behind a firewall, and this solution works for me:

A very simple solution: replace https:// with git://

Comments

0

Being in a corporate environment, "our" Git installation used a gitconfig file in its installation directory, not the standard C:\users\<you>\.gitconfig file.

This showed me where the gitconfig file was:

git config --list --show-origin

I edited the file by adding these:

[remote "origin"]
    proxy = http://proxyserver:port
[http]
    proxy = http://proxyserver:port
[https]
    proxy = http://proxyserver:port

Also, my installation had

[credential]
    helper = manager

I can now get to external repositories.

Comments

0

Restarting Android studio did the trick for me

1- click on File menu

2- Select Invalidate caches/restart

3- Click on Invalidate caches and restart

Comments

-1

I am using TortoiseGit and simply go to Git in Settings and apply the same settings to Global. Click Apply and OK. It worked for me.

Comments

-1

In Visual Studio, go to menu ToolsNuGet Package ManagerPackage Manager Console.

Type: git config --global http.proxy http://xxx.xxxx.xxxx:Port

Comments

-1

I have Git GUI installed on a Windows system behind a proxy. Issuing 'git clone' from a Linux virtual machine running on the Windows system works, but Git GUI yields the 443 error mentioned in the heading.

To fix this, one must edit %USERPROFILE%\.gitconfig to add an [http] section:

[http]
    postBuffer = 1000000000
    proxy = the.proxy.address:the.proxy.port
    sslcainfo = C:/Users/username/Documents/the.certificate.name.cer

Note that the path to the security certificate file has had its backslashes ('\') replaced by slashes ('/').

Comments

-1

I resolved my issue by changing the DNS name server to 8.8.8.8. (pls note your cause may be different from mine, I just provide the solution to my issue here, may not work for you)

2 Comments

Which is Google's name server(?).
What was the real issue?
-3

If you are on Windows and not behind a proxy, simply restarting your machine may solve it.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.