@qourshi
tg: @shoei1944

Как передать реальный IP клиента через nginx и zerotier?

Имеется такая схема:
VPS (nginx) -> Zerotier LAN (192.160.22.1)
Zerotier LAN (192.168.22.2) -> Локальный сервер с nginx

Как в таком случае правильно передать IP клиента?

Пробовал разные настройки прокси:
proxy_set_header Host $http_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;

Но я все-равно получаю IP от Zerotier LAN (192.160.22.1)
  • Вопрос задан
  • 211 просмотров
Решения вопроса 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Так смотрите по цепочке, получает каждый следующий сервер в запросе строку X-Forwarded-For, или нет.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Khamzabek
Для правильной передачи IP клиента в данной ситуации необходимо добавить в настройки прокси следующую строку:

proxy_set_header X-Real-IP $remote_addr;

исходя из того, что она уже присутствует в настройках прокси, возможно проблема заключается в том, что запрос клиента не проходит через прокси, а направляется напрямую на VPS (nginx), из-за чего прокси не может зафиксировать и передать IP клиента. В таком случае необходимо настроить перенаправление (redirect) всех запросов с внешнего IP адреса на VPS (nginx) на Zerotier LAN (192.160.22.1), например, используя iptables.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы