Не видите настоящий IP в X-Forwarded-For с базовой настройкой Traefik в Docker? - PullRequest
0 голосов
/ 18 декабря 2018

Влюбился в презентацию Трафика на YouTube, поэтому я пытался ее настроить.Мой док-сервер находится на 192.168.0.23.

Даже при запросах с другого хоста из моей локальной сети (192.168.0.144) я всегда получаю внутренний IP-адрес в X-Forwarded-For ...

curl -H Host:whoami.docker.localhost http://192.168.0.23:8880

показывает

Hostname: 20f76fbc038e
IP: 127.0.0.1
IP: 172.22.0.2
GET / HTTP/1.1
Host: whoami.docker.localhost
User-Agent: curl/7.51.0
Accept: */*
Accept-Encoding: gzip
X-Forwarded-For: 172.22.0.1
X-Forwarded-Host: whoami.docker.localhost
X-Forwarded-Port: 80
X-Forwarded-Proto: http
X-Forwarded-Server: c40ba22259b6
X-Real-Ip: 172.22.0.1

То же самое происходит при звонке из другой сети через общедоступный IP-адрес, все еще видя X-Forwarded-For: 172.22.0.1

Мой docker-compose является одним из основныхпримеры ...

version: '3'

services:
  reverse-proxy:
    image: traefik
    command: --api --docker
    ports:
      - "8880:80"
      - "8080:8080"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
  whoami:
    image: containous/whoami
    labels:
      - "traefik.frontend.rule=Host:whoami.docker.localhost"
      - "traefik.frontend.passHostHeader=true"

Я что-то упустил?Я хотел бы, по крайней мере, получить IP-адрес хоста, инициировавшего запрос, в списке X-Forwarded-For, поскольку я видел все примеры в Интернете ...

Странная вещьзаключается в том, что IP-адрес, который отображается в поле переадресации, является IP-адресом сервера в сети Docker, что имеет смысл, когда скручивание выполняется с самого сервера, а не с другого хоста в той же сети или через Интернет ...

...