Get IP of Heroku dynos

后端 未结 2 837
醉话见心
醉话见心 2021-02-15 18:43

I have a Heroku app making some API calls to an external service. There are some issues and the service wants to know what IPs are making the calls.

A lot of the basic

相关标签:
2条回答
  • 2021-02-15 19:34

    Get the list of dynos with the heroku ps -a <app> command.

    You actually can ssh into individual dyno instances with heroku ps:exec -a <app> -d <dyno_instance> --ssh.

    Get the individual dyno IP with the ip command e.g. ip addr | grep "global eth0" | awk '{ print $2 }'.

    Get the router IP with curl 'https://api.ipify.org'. http://httpbin.org/ip is also good.

    You could use expect to programmatically retrieve the IPs from every dyno by running the Heroku SSH command, waiting for the prompt, running the IP command(s), logging out, then repeating for each dyno instance.

    0 讨论(0)
  • 2021-02-15 19:36

    According to the docs, Heroku Dynos can be any IP from an AWS Region. Having a dedicated/static IP for your Dynos is part of their enterprise offering.

    However, you can have a dedicated/static IP by adding an add-on (e.g. Fixie or Proximo)

    Also, you can have the Dynos make a GET request to https://httpbin.org/ip and it will respond with the Dynos public IP (more ideas in the comments section below).

    0 讨论(0)
提交回复
热议问题