The Fixie Heroku addon provides Heroku applications with a fixed set of static IP addresses for outbound requests. Fixie is language- and framework-agnostic.
Without Fixie, your Heroku application makes requests from an unpredictable and impermanent set of IP addresses. Because Heroku IPs are dynamic, it can be difficult to integrate Heroku applications with services that whitelist a fixed IP range, including certain APIs and services that operate behind a corporate firewall.
Fixie acts as a proxy for outbound traffic, tunneling your requests through a known IP address. Each Fixie subscriber is assigned a set of static IP addresses. These addresses can be used anywhere you need a fixed IP range: API providers, firewall configurations, etc.
If you are looking to connect to a database or FTP server, we recommend using Fixie Socks (a SOCKS proxy) as it is generally a better fit for that use case and supports virtually any TCP connection.
The Fixie addon can be attached to a Heroku application via the CLI.
$ heroku addons:create fixie
-----> Adding fixie to sharp-mountain-4005... done, v18 (free)
You can sign up through the add-on page by clicking Install Fixie.
Configure your application
Next, update your application to use your Fixie proxy server. We have documentation for many popular languages supported by Heroku:
Once the Fixie add-on has been installed, a
FIXIE_URL environment variable will be available to your app and will contain the outbound proxy URL. This can be confirmed using the
heroku config:get command.
$ heroku config:get FIXIE_URL
Getting your static IP addresses
You can retrieve your static IP addresses in the "Account" tab of the Fixie Dashboard. Your IP addresses are listed under "Account Details."
Your static IP addresses are also shown in the command line when you enable Fixie using the Heroku CLI:
$ heroku addons:create fixie
Adding fixie to sharp-mountain-4005… done, v18 (free)
Your static IP addresses are 184.108.40.206, 220.127.116.11
The Fixie dashboard can be used to monitor your Fixie usage, retrieve your Fixie URL, and retrieve your outbound static IPs.
The dashboard can be accessed by visiting the Heroku Dashboard and selecting the application in question. Select Fixie from the Add-ons menu.
The dashboard can also be accessed via the CLI:
$ heroku addons:open fixie
Opening fixie for sharp-mountain-4005…
If you wish to use Fixie to proxy requests while developing locally, it is necessary to locally replicate the
FIXIE_URL environment variable.
Though less portable, it is also possible to set local environment variables using
You can use Foreman to configure, run and manage process types specified in your app’s Procfile. Foreman reads configuration variables from an .env file. Use the following command to add the FIXIE_URL values retrieved from heroku config to
$ heroku config -s | grep FIXIE_URL >> .env
$ more .env
Credentials and other sensitive configuration values should not be committed to source-control. In Git, exclude the .env file with:
echo .env >> .gitignore.
Changine between plans
heroku addons:upgrade command to migrate to a new plan. NOTE: Changing the plan won't affect your outbound IP address
$ heroku addons:upgrade fixie:newplan
-----> Upgrading fixie:newplan to sharp-mountain-4005... done, v18 ($/mo)
Your plan has been updated to: fixie:newplan
Removing the add-on
Fixie Heroku can be removed via the CLI.
This will destroy all associated data and cannot be undone! If your application is configured to make requests through Fixie Heroku, those requests will fail after removing the add-on.
$ heroku addons:remove fixie
-----> Removing fixie from sharp-mountain-4005... done, v20 (free)
Having issues? Please reach out to our team here.