NLBInternalPreserveClientIP
Forward the real client source IP to targets behind the internal NLBInternal. Same semantics as NLBPreserveClientIP but scoped to the internal NLB.
| Default value | No |
| Allowed values | Yes, No |
Prerequisites
Same constraint as NLBPreserveClientIP: this parameter cannot be enabled on a Rack that sets a customer-supplied InstanceSecurityGroup. On such Racks, add an ingress rule sourced from ${Rack}:NLBInternalSecurityGroup to your custom SG before attempting to enable this parameter.
Use Cases
- In-VPC audit logs that need the calling Service's real IP rather than the internal NLB's address
- Per-client rate limiting in a microservice topology sitting behind an internal NLB
- Compliance logging on internal-only workloads
- Analytics on traffic arriving from peered VPCs or VPN clients
Additional Information
$ convox rack params set NLBInternalPreserveClientIP=Yes
Applies to every existing and future listener on the internal NLB. Per-port preserve_client_ip: on a Service with scheme: internal overrides this rack default for a single listener.
Incompatibility with customer InstanceSecurityGroup
Racks that set InstanceSecurityGroup cannot enable this through Convox. The validator rejects the change with a parallel error referencing ${Rack}:NLBInternalSecurityGroup:
cannot enable NLBInternalPreserveClientIP on a rack with a customer-supplied
InstanceSecurityGroup; your instance SG must add an ingress rule from the
NLB security group (exported as ${Rack}:NLBInternalSecurityGroup) for the
NLB listener ports before this feature can be enabled safely
The inverse direction (setting InstanceSecurityGroup while this is already Yes) is also blocked unless the same call disables preserve-client-IP. See NLBPreserveClientIP for the full rationale.