NginxProxyManager / NginxProxyManager/nginx-proxy-manager

IPv6 visitor real IP

Open
#4,029 7 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Checklist

  • Have you pulled and found the error with jc21/nginx-proxy-manager:latest docker image?
    • No
  • Are you sure you're not using someone else's docker image?
    • Yes
  • Have you searched for similar issues (both open and closed)?
    • Yes

Describe the bug

I've completed the IPv6 setup for my docker following this doc https://docs.docker.com/engine/daemon/ipv6/ , IPv6 networking itself is working.
I've also added headers in NPM advanced settings:

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;

The real IPv4 IP of the client is successfully forwarded, but if the client browse the site using IPv6, the real IP is IPv6 gateway of the container.
The problem is solved with network mode set to "host" .

Nginx Proxy Manager Version

v2.11.3

To Reproduce
Steps to reproduce the behavior:
As mentioned above.

Expected behavior

Show real IPv6 of client

Screenshots

Operating System

Ubuntu

Additional context

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 by reproducing the report with the Docker IPv6 daemon configuration and the Nginx Proxy Manager advanced proxy headers described in the issue. Compare client IPv4 and IPv6 requests in the affected network mode, then investigate how the container networking and proxy forwarding handle the source address. Done means the upstream receives the real client IPv6 address without requiring host network mode.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, nginx
Domain
infrastructure, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.