NginxProxyManager / NginxProxyManager/nginx-proxy-manager

Add toggle for proxy hosts to trust X-Forwarded-For headers

Open
#5,586 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
TypeScript
Stars
34.2k
Forks
3.9k
Avg merge
21h 12m
Merged PRs (30d)
20

Description

Is your feature request related to a problem? Please describe.

After a few tests, it looks like NPM automatically forwards X-Forwarded-For headers to the backend if already present. I'm unsure how safe it is to blindly pass this kind of information on. Some software does require knowing who originally sent the request, but I can't see a straightforward way to distinguish between spoofed headers and real ones. I would assume that best practice is for the front-facing proxy to drop headers of this kind (or maybe even the entire request since it probably is nefarious).

Describe the solution you'd like

A clear toggle to disable this behaviour seems adequate.

Describe alternatives you've considered

It can probably be configured within the advanced settings section.

Additional context

None.

Contributor guide

No contributing guide indexed for this repository

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

Start at the proxy-host configuration and advanced-settings entry points, then trace how X-Forwarded-For is passed to upstream servers. Define where the toggle is stored and applied, and verify that disabling it prevents forwarding while existing proxy-host behavior remains unchanged. No specific files or tests are named in the issue.

Written by the indexing model from the issue text.

Assessment

Tech stack
nginx, typescript
Domain
backend, security
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.