Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.jitera.ai/llms.txt

Use this file to discover all available pages before exploring further.

When Jitera runs behind a reverse proxy, load balancer, or CDN, the application sees the proxy’s IP address instead of the real client IP. This affects security features (rate limiting, IP blocking), audit logging, and compliance. Trusted proxy configuration tells Jitera which proxy IP addresses to trust, allowing it to read the real client IP from the X-Forwarded-For header.

Two-Layer Trust Chain

Client IP preservation requires trust configuration at two layers of the request path:
LayerSettingLocation
Kong ingresskong.env.trusted_ipsHelm values
Jitera applicationproxies.yaml + ENABLE_PROXY_FROM_X_HEADERcharts/jitera/extra_config/ + Helm values
Narrow both to the CIDR of the preceding hop in production.

Kong Ingress Trusted IPs

The chart ships with kong.env.trusted_ips: "0.0.0.0/0,::/0", which makes Kong accept x-real-ip / X-Forwarded-For headers from any source. For production, narrow this to the CIDR of the load balancer sitting in front of Kong:
kong:
  env:
    trusted_ips: "10.0.0.0/16"     # your LB subnet CIDR (example)
    real_ip_header: "x-real-ip"    # chart default
Use the VPC CIDR or LB-subnet CIDR as appropriate for your topology.

Configuration Methods

MethodSecurityUse Case
Explicit IP trust listHighProduction — only specific proxy IPs are trusted
X-Forwarded-For header trustMediumDevelopment/testing — trusts the header from any source
Define exactly which IP addresses are allowed to provide client IP information by creating a proxy configuration file. Step 1: Create charts/jitera/extra_config/proxies.yaml:
trusted_proxies:
  - 10.0.0.0/8        # Kubernetes pod/service networks
  - 172.16.0.0/12     # Private network range
  - 192.168.0.0/16    # Private network range
  # Add your load balancer or CDN IP ranges below:
  # - 203.0.113.0/24  # Example: CDN IP range
  # - 198.51.100.5    # Example: specific load balancer IP
Step 2: Disable header-only trust:
automation:
  env:
    ENABLE_PROXY_FROM_X_HEADER: false
The application will only accept client IP information from the X-Forwarded-For header when the request originates from an IP address listed in proxies.yaml.
The proxies.yaml file ships empty by default. You must add your infrastructure’s proxy IP ranges for trusted proxy to take effect.

X-Forwarded-For Header Trust

For development or fully controlled internal networks, you can enable header-based trust without an explicit IP list:
automation:
  env:
    ENABLE_PROXY_FROM_X_HEADER: true
When ENABLE_PROXY_FROM_X_HEADER is true, any client can spoof their IP address by setting the X-Forwarded-For header. Do not use this in production environments with external traffic.

IP Address Formats

proxies.yaml supports the following formats:
FormatExampleUse Case
IPv4 single192.168.1.1Specific load balancer
IPv4 CIDR10.0.0.0/8Network range
IPv6 single2001:db8::1Specific IPv6 proxy
IPv6 CIDR2001:db8::/32IPv6 network range

Examples by Infrastructure

AWS Application Load Balancers operate within your VPC’s private IP ranges:
trusted_proxies:
  - 10.0.0.0/8       # VPC internal range (adjust to your VPC CIDR)
  - 172.16.0.0/12    # Additional private range if used

Helm Values Reference

ParameterTypeDefaultDescription
automation.env.ENABLE_PROXY_FROM_X_HEADERbooleanfalseTrust X-Forwarded-For header from any source. Set to true only for development.
The trusted proxy IP list is defined in charts/jitera/extra_config/proxies.yaml (not a Helm value). For the complete Helm configuration reference, see Automation Environment Variables.

Verification

After configuring trusted proxies:
# Check the ENABLE_PROXY_FROM_X_HEADER setting
kubectl exec -it deploy/jitera-automation-rails -n jitera -- \
  env | grep ENABLE_PROXY

# Verify proxies.yaml is mounted (if using explicit IP list)
kubectl exec -it deploy/jitera-automation-rails -n jitera -- \
  cat /app/config/proxies.yaml
To confirm client IP detection is working, check the audit logs or application logs for the correct client IP addresses after a request through your proxy.