Fixie Fly.io
With Fixie static IP for Fly.io, your applications hosted on Fly.io can make outbound requests (HTTP, HTTPS, Database, TCP, and more) from a consistent set of static IP addresses. This integration is designed to be language- and framework-independent, ensuring broad compatibility across various development stacks.
Typically, Fly.io applications are assigned a dynamic range of IP addresses for outbound requests. This dynamic assignment can complicate interactions with external services that require a specific range of IP addresses for security reasons, such as some APIs and corporate firewalls. To mitigate these challenges, Fixie offers both HTTP and SOCKS V5 proxies for your application's outbound traffic, supporting HTTP/S requests, and database connections. This enhancement ensures your application remains compliant with external services and firewalls that necessitate an IP allow-list.
Fixie's versatility extends across multiple backend languages, offering support for JavaScript, Ruby, Python, Java, Go, and PHP.
Getting Started
To get started, create a Fixie account, and create a new Proxy Application.
In order to minimize latency, please select the closest region to the one where your Fly.io app is already deployed. To check the Fly.io region for your app, run
fly status
command and see the value(s) underREGION
column.
After the proxy is created, go to Proxy’s Details page where you’ll see a couple of important values:
- Proxy URL: Your Fixie HTTP/S or SOCKS proxy URL that includes your username, password and proxy server load-balancer to use.
- Outbound IPs: Your pair of Fixie IP-addresses. These will never change, so feel free to allow-list them with firewalls or services
Configure your application
Next, update your application to use your Fixie proxy server. We have documentation for many popular languages supported by Fly.io:
You also need to make sure Fixie credentials are accessible by your Fly.io app. We recommend against hardcoding the values in the source code and instead adding Proxy URL or HOST string to your Secrets. We do recommend the following naming conventions for Environment Variables so it’s easier to follow along with our documentation:
FIXIE_URL
for your Fixie HTTP/S proxyFIXIE_SOCKS_HOST
for your Fixie SOCKS proxy
Now using fly ctl run the following command.
fly secrets set FIXIE_URL=... # This is where your Proxy URL from Fixie's dashboard goes
fly secrets set FIXIE_SOCKS_HOST=... # This is where your Proxy Host from Fixie's dashboard goes
Feel free to create different Fixie proxies for different environments (for example, development and production) to keep credentials and logs separate.
Local setup
To use Fixie locally, replicate the FIXIE_URL
and/or FIXIE_SOCKS_HOST
environment variables in your local environment. For example, you can add it to .env
file locally
Keep sensitive configuration values, like credentials, out of source control. Exclude the
.env
file in Git with:echo '.env' >> .gitignore
.
Changing plans
Use the Fixie dashboard to change your plan. To change the plan, click Change Plan button and select an appropriate plan.
NOTE: Changing the plan won't affect your outbound IP address
Deleting a proxy
To remove the proxies, go to the Fixie dashboard and select Delete for the desired proxy.
Having issues? Please reach out to our team here.