Получите реальный IP-адрес пользователя с сервером веб-сокетов PHP Ratchet

Я использую PHP Ratchet с Stunnel для SSL. Это работает хорошо. Но проблема в том, что я не могу получить реальный IP-адрес пользователей.

я уже пробовал эти

$conn->remoteAddress

и с этим я получаю 127.0.0.1 (локальный адрес)

$conn->WebSocket->request->getHeader('X-Forwarded-For');

и с этим я ничего не получаю.

Любая помощь!


person h_h    schedule 04.05.2017    source источник
comment
Я думаю, вам нужно перенаправить IP-адрес клиента в Stunnel   -  person modsfabio    schedule 04.05.2017
comment
Как это возможно, можете подсказать?   -  person h_h    schedule 04.05.2017
comment
Я не знаком со Stunnel, но если это причина, то это наверняка проблема с конфигурацией.   -  person modsfabio    schedule 04.05.2017
comment
Я даже не использую Stunnel, и у меня такая же проблема. $conn->remoteAddress возвращает адрес сервера вместо клиента.   -  person Jimmy    schedule 10.03.2018


Ответы (2)


Или иногда это $conn->httpRequest->getHeaders()['X-Forwarded-For'][0].

person John Alexander    schedule 19.09.2019

Это действительно старо, но я столкнулся с этим только сейчас.

Вы ищете $conn->WebSocket->request->getHeader('x-forwarded-for) или $conn->WebSocket->request->getHeader('x-real-ip').

См. $conn->WebSocket->request->getHeaders() для полного списка.

person Rian    schedule 25.05.2018