hashicorp / hashicorp/consul

Consul + ALB/ELB shows traffic as coming from the LB instead of the actual clients

Open
#10,505 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
30.1k
Forks
4.6k
Avg merge
1d 18h
Merged PRs (30d)
39

Description

When filing a bug, please include the following headings if possible. Any example text in this template can be deleted.

Overview of the Issue

We are running consul on EC2 in AWS with an ALB in front of it (previously an ELB with TLS connectivity). In both cases, the debug logs for consul is showing traffic as coming from the Load Balancer IP addresses instead of the actual clients. This means that if one app starts opening too many concurrent connections, we get the 429 errors for everyone because it thinks the client is the LB. Is there a recommendation on how to deal with this?

Reproduction Steps

Steps to reproduce this issue, eg:

  1. Create a cluster and put an ALB in front of it
  2. Have 200+ concurrent connections going through ALB to consul from one IP then try to connect from the other IP
  3. Other IP shows "Your IP is issuing too many concurrent connections, please rate limit your calls"
Consul info for both Client and Server
Client info
output from client 'consul info' command here
Server info
output from server 'consul info' command here
Operating system and Environment details

AWS/ALB/RHEL

Log Fragments

Include appropriate Client or Server log fragments. If the log is longer than a few dozen lines, please include the URL to the gist of the log instead of posting it in the issue. Use -log-level=TRACE on the client and server to capture the maximum log detail.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source file, test, or entry point is identified. Start with the ALB/ELB reproduction steps and collect the missing Consul info and debug log fragments, then trace the request identity and rate-limit handling reached by that path. Done should include a confirmed client-identity behavior and regression coverage.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, go
Domain
backend-api-design, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.