Static IP guide

Making API requests with a static IP from a Node app on Replit

Replit assigns your app a new outbound IP on every deploy and restart, so an API partner that allowlists by IP needs Fixie in front of the request. Store the proxy URL as FIXIE_URL in Replit's Secrets pane and point axios at it; the partner then sees the same two addresses regardless of how often the container is reassigned.

RuntimeNode.js and JavaScript
PlatformReplit
DestinationAPI allowlisting
Fixie productFixie HTTP/S proxy

Recommended setup

Use Fixie HTTP/S proxy for HTTP and HTTPS requests to an API, webhook provider, or service that allowlists outbound IP addresses. Store the proxy value in FIXIE_URL, then configure Node.js to route outbound traffic through Fixie before connecting to API allowlisting.

Set up Fixie on Replit

Create a Fixie HTTP/S proxy in the Fixie dashboard. Copy the proxy value into Replit's Secrets pane as FIXIE_URL, and copy the outbound IPs into the destination allowlist.

Implementation

The example below shows the core application-side change. Keep credentials in environment variables and avoid committing proxy, database, or API secrets.

Make an HTTP request through FIXIE_URL

const axios = require('axios');

const fixieUrl = new URL(process.env.FIXIE_URL);

axios.get('https://api.example.com/data', {
  proxy: {
    protocol: 'http',
    host: fixieUrl.hostname,
    // URL drops default ports, so fall back to 80 for Fixie's standard proxy port.
    port: Number(fixieUrl.port) || 80,
    auth: {
      username: fixieUrl.username,
      password: fixieUrl.password,
    },
  },
}).then((response) => {
  console.log(response.status);
});

Good to know

  • Replit Apps are long-lived containers, not per-request functions, so build the axios proxy config once at module load and reuse it for the life of the process.
  • Secrets added in the workspace don't automatically apply to a published Deployment. Add FIXIE_URL under the Deployment's own settings too, or the live app will fail to find it even though the workspace preview works.

Allowlist and test the static IPs

  1. Open the Fixie dashboard and copy the outbound IP addresses for this proxy.
  2. Add both IPs to the API provider.
  3. Deploy the updated Node.js app on Replit.
  4. Run a small connection test before sending production traffic.

Related guides

Related docs

Is this guide useful?