Static IP guide
Making API requests with a static IP from a Ruby app on Render
Rails and Sinatra apps on Render integrate Fixie the same way they would anywhere Ruby runs: RestClient.proxy = ENV["FIXIE_URL"] in an initializer, or a per-connection proxy option in Faraday. The only Render-specific step is creating the FIXIE_URL environment variable yourself, since there is no add-on marketplace to do it for you.
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 Ruby to route outbound traffic through Fixie before connecting to API allowlisting.
Set up Fixie on Render
Create a Fixie HTTP/S proxy in the Fixie dashboard. Copy the proxy value into Render Environment Variables 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
require "rest-client"
RestClient.proxy = ENV["FIXIE_URL"]
response = RestClient.get("https://api.example.com/data")
puts response.codeGood to know
- Set the variable in the Render dashboard or render.yaml, then redeploy — Render restarts the service with the new environment.
- Outbound webhooks originate from your Fixie IPs once the initializer runs, so register those two addresses with the receiving service.
Allowlist and test the static IPs
- Open the Fixie dashboard and copy the outbound IP addresses for this proxy.
- Add both IPs to the API provider.
- Deploy the updated Ruby app on Render.
- Run a small connection test before sending production traffic.
Related guides
- Making API requests with a static IP from a Ruby app on Heroku
- Making API requests with a static IP from a Node app on Render
- Making API requests with a static IP from a Python app on Render
- Making API requests with a static IP from a Go app on Render