Назад | Перейти на главную страницу

Настройки Linux VPS, позволяющие $ _SERVER ['REMOTE_ADDR'] получать IP-адрес клиента

У меня есть неуправляемый VPS-сервер. Я пытаюсь получить IP-адрес клиента из PHP $_SERVER['REMOTE_ADDR'] но он всегда дает мне то же самое для всех пользователей, что является внутренним IP-адресом сервера.

Я провел некоторые исследования и разработки и установил для этого брандмауэр на сервере, затем я проверил то же самое на своем другом сервере VPS, но здесь он дает правильный IP-адрес клиента. Теперь я уверен, что на моем первом VPS будут некоторые настройки конфигурации, которые могут дать мне правильный IP-адрес клиента.

Пожалуйста, дайте мне знать, какую конфигурацию мне нужно сделать на сервере, чтобы получить это.

РЕДАКТИРОВАТЬ -

Как только я заметил разницу -

На VPS 1, где у него нестандартный порт ssh 27560. Другой может быть доступен через порт 22. Я не уверен, что это создает проблему здесь. Пожалуйста, предложите.

Не уверен, какой брандмауэр вы используете, но похоже, что он проксирует веб-трафик через себя. Если он действует как прокси, он может устанавливать переменную $ _SERVER ['HTTP_X_FORWARDED_FOR']. Если это так, вы можете проверить, установлено ли оно, и если это так, используйте его. В противном случае вернитесь к REMOTE_ADDR.

Также обратите внимание, что IP-адрес клиента может быть довольно легко подделан, поэтому я надеюсь, что во всех случаях правильное определение IP-адреса не критично (т.е. я надеюсь, что безопасность, в частности, не зависит только от этого).