heroku / legacy-cli

Heroku CLI
https://cli.heroku.com
MIT License
1.36k stars 381 forks source link

Heroku login fails on macOS #2039

Open kalyandechiraju opened 7 years ago

kalyandechiraju commented 7 years ago

heroku login is not working on macOS from a long time. Unable to use heroku because of this.

Error:

Post https://api.heroku.com/login: dial tcp: lookup api.heroku.com on 8.8.4.4:53: read udp :->8.8.4.4:53: i/o timeout

Tried reinstalling, but same error.

jdx commented 7 years ago

This is a networking error on your side. It doesn't look like the dns is configured correctly.

trimble commented 7 years ago

I just tried:

$ heroku login
Enter your Heroku credentials.
Email: [redacted]
Password (typing will be hidden): 
Logged in as [redacted]

System info:

heroku-toolbelt/3.43.2 (x86_64-darwin15) ruby/2.3.0
heroku-cli/5.5.3-787d7db (darwin-amd64) go1.7.3

   System Software Overview:

      System Version: macOS 10.12.1 (16B2555)
      Kernel Version: Darwin 16.1.0

@kalyandechiraju, did you sort this out? Can we close this issue?

kalyandechiraju commented 7 years ago

@trimble Am still facing the same issue.

heroku-toolbelt/3.43.11 (x86_64-darwin10.8.0) ruby/1.9.3 heroku-cli/5.5.2-e6595d8 (darwin-amd64) go1.7.3

kalyandechiraju commented 7 years ago

With previous version of heroku, I used to get DNS lookup failed error. But with this new version, that is gone but i/o time out is troubling a lot.

trimble commented 7 years ago

Does nslookup api.heroku.com help us sort this out? (I'm leaning toward a problem outside of the toolbelt.)

Mine reliably gives:

Non-authoritative answer:
api.heroku.com  canonical name = elb082153-1559744486.us-east-1.elb.amazonaws.com.
Name:   elb082153-1559744486.us-east-1.elb.amazonaws.com
Address: 54.225.188.133
Name:   elb082153-1559744486.us-east-1.elb.amazonaws.com
Address: 23.21.149.112
Name:   elb082153-1559744486.us-east-1.elb.amazonaws.com
Address: 54.243.105.250

If your system can't reach api.heroku.com, login won't work. As for the change in error message, I'll look and see if that's explained somewhere.

kalyandechiraju commented 7 years ago

I got the same.

Non-authoritative answer: api.heroku.com canonical name = elb082153-1559744486.us-east-1.elb.amazonaws.com. Name: elb082153-1559744486.us-east-1.elb.amazonaws.com Address: 54.243.105.250 Name: elb082153-1559744486.us-east-1.elb.amazonaws.com Address: 23.21.149.112 Name: elb082153-1559744486.us-east-1.elb.amazonaws.com Address: 54.225.188.133

kalyandechiraju commented 7 years ago

@trimble There is no change in error message now! Am still facing

Post https://api.heroku.com/login: dial tcp: lookup api.heroku.com on 8.8.4.4:53: read udp :->8.8.4.4:53: i/o timeout

DNS issue was with older version of heroku CLI.

lifeofguenter commented 7 years ago

@dickeyxxx in what way would Google's Public DNS be misconfigured? I can resolve the hostname via dig with no problems.

jdx commented 7 years ago

No idea. This is an issue attempting to reach google's servers, it has nothing to do with our code.

lifeofguenter commented 7 years ago

Sure, but how come dig and any other tool using DNS works:

$ curl -Iv https://api.heroku.com
* Rebuilt URL to: https://api.heroku.com/
* Hostname was NOT found in DNS cache
*   Trying 54.225.188.133...
* Connected to api.heroku.com (54.225.188.133) port 443 (#0)
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Server key exchange (12):
* SSLv3, TLS handshake, Server finished (14):
* SSLv3, TLS handshake, Client key exchange (16):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* Server certificate:
*    subject: C=US; ST=California; L=San Francisco; O=Heroku, Inc.; CN=api.heroku.com
*    start date: 2016-02-26 00:00:00 GMT
*    expire date: 2019-03-06 12:00:00 GMT
*    subjectAltName: api.heroku.com matched
*    issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=DigiCert SHA2 High Assurance Server CA
*    SSL certificate verify ok.
> HEAD / HTTP/1.1
> User-Agent: curl/7.38.0
> Host: api.heroku.com
> Accept: */*
>
< HTTP/1.1 404 Not Found
HTTP/1.1 404 Not Found
< Cache-Control: no-transform
Cache-Control: no-transform
< Content-Length: 168
Content-Length: 168
< Content-Type: text/plain
Content-Type: text/plain
< Date: Tue, 13 Dec 2016 09:01:54 GMT
Date: Tue, 13 Dec 2016 09:01:54 GMT
< Request-Id: 5aee7d0c-2e77-4e71-4f5a-fafa3f623826,839578ec-4279-e112-35fd-ff500bce3473
Request-Id: 5aee7d0c-2e77-4e71-4f5a-fafa3f623826,839578ec-4279-e112-35fd-ff500bce3473
< Via: 1.1 spaces-router (+b7d1be5)
Via: 1.1 spaces-router (+b7d1be5)
< X-Cascade: pass
X-Cascade: pass
< X-Content-Type-Options: nosniff
X-Content-Type-Options: nosniff
< X-Runtime: 0.014350076
X-Runtime: 0.014350076
< Connection: keep-alive
Connection: keep-alive

<
* Connection #0 to host api.heroku.com left intact

Hence my question: in what way would it be possible for DNS to work perfectly normal but not within the heroku-cli ? E.g. how is our DNS misconfigured (because then I can search for a fix)?

jdx commented 7 years ago

Are you having the same error as the user above?

kalyandechiraju commented 7 years ago

Even after switching to my default DNS provider, am facing the same issue. (as above which was with google dns servers)

jdx commented 7 years ago

there really isn't anything we can do about it if you can't connect to api.heroku.com

kalyandechiraju commented 7 years ago

Am unable to connect only through heroku-cli...

Kalyan DechirajuOn Dec 14, 2016 9:26 PM, Jeff Dickey notifications@github.com wrote:

there really isn't anything we can do about it if you can't connect to api.heroku.com

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

shanejones commented 7 years ago

Are you using Little Snitch at all?

Just spotted that nothing works if the network monitor is on, you may need to add heroku.com and api.heroku.com to the app manually like I just did.