Skip to content
agentgateway has joined the Agentic AI Foundation — Learn more

For the complete documentation index, see llms.txt. Markdown versions of all docs pages are available by appending .md to any docs URL.

Callout proxy

Page as Markdown

Send gateway-originated callouts through an HTTP proxy.

Use a callout proxy when the agentgateway process must reach identity providers, authorization services, or cloud APIs through an outbound proxy. Configure the proxy with config.callouts.tunnel, or leave that field unset and use the standard proxy environment variables.

The callout proxy is different from the egress proxy. The egress proxy handles client traffic that uses agentgateway as its proxy. The callout proxy handles outbound calls from the agentgateway process.

Callouts that use the proxy

config.callouts.tunnel applies to callout APIs. Examples include JWKS fetches, OIDC discovery, external authorization, and cloud provider credential fetches. The setting does not apply to primary backend requests, mirrored backend requests, XDS or CA calls, backends with their own tunnel policy, or Kubernetes services. The setting also does not apply to loopback and link-local addresses, such as cloud metadata servers.

GCP authentication calls do not read config.callouts.tunnel. To proxy those calls, use the standard proxy environment variables instead.

Configure the callout proxy

Add config.callouts.tunnel to your configuration file. Because this setting is under the top-level config section, restart the agentgateway process after you change the setting.

# yaml-language-server: $schema=https://agentgateway.dev/schema/config
config:
  callouts:
    tunnel:
      url: http://user:pass@proxy.example.com:3128
      noProxy:
      - internal.example.com
      - 10.0.0.0/8
FieldDescription
config.callouts.tunnel.urlThe HTTP proxy URL. The URL must use the http or https scheme. If the proxy requires basic authentication, include the credentials in the URL.
config.callouts.tunnel.noProxyDestinations that bypass the proxy. Use NO_PROXY syntax, such as hostnames that also match subdomains, IP addresses, CIDR ranges, or *.

When config.callouts.tunnel is set, the setting controls callout proxying. When config.callouts.tunnel is omitted, configure callout proxying with the environment variables that the process reads at startup.

export ALL_PROXY=http://proxy.example.com:3128
export NO_PROXY=internal.example.com,10.0.0.0/8
agentgateway -f config.yaml

The agentgateway process reads ALL_PROXY, HTTP_PROXY, HTTPS_PROXY, and NO_PROXY, including the lowercase forms.

Was this page helpful?
Agentgateway assistant

Ask me anything about agentgateway configuration, features, or usage.

Note: AI-generated content might contain errors; please verify and test all returned information.

Tip: one topic per conversation gives the best results. Use the + button in the chat header to start a new conversation.

Switching topics? Starting a new conversation improves accuracy.
↑↓ navigate ↵ select esc dismiss

What could be improved?

Your feedback helps us improve assistant answers and identify docs gaps we should fix.

Need more help? Join us on Discord: https://discord.gg/y9efgEmppm

Want to use your own agent? Add the Solo MCP server to query our docs directly. Get started here: https://search.solo.io/.