Я обычно предполагал, что в PHP script я могу протестировать $_SERVER['REMOTE_ADDR'], чтобы установить IP-адрес, с которого возник запрос. Тем не менее, я начинаю задаваться вопросом, не слишком ли сложнее. Вот сценарий
- Я запустил несколько серверов, назовите их A, B и C - на которых пользователи должны быть "зарегистрированы" li >
- Я запустил отдельный сервер регистрации, назовите его S, где учетные данные пользователей и т.д. сначала проверяются до отправки полного запроса на регистрацию на серверы A, B и C
Запрос отправляется как
file_get_contents('https://url?data=value')
На серверах  A, B и C я довольно наивно тестировал $_SERVER['REMOTE_ADDR'], чтобы установить, что запрос действительно поступал с сервера  S. К моему удивлению, результаты оказались неоднородными и переменными
-  Значение в REMOTE_ADDRбыло IP-адресом пользователя, взаимодействующего с сервером регистрации, S
-  Значение в REMOTE_ADDR- это IP-адрес сервера регистрации, S - то, что я ожидал увидеть все время
-  Значение в REMOTE_ADDRбыло другим IP-адресом из пула IP-адресов на виртуальном сервере, на котором я размещаю сервер S
Мне не нужно выполнять этот дополнительный проверочный тест, чтобы полностью отказаться от него. Тем не менее этот результат заставил меня врасплох, поэтому мне интересно узнать, может ли кто-то здесь пролить свет на то, что происходит.
Я должен упомянуть, что я запускаю PHP 5.5 на Lighttpd на серверах A, B и C и PHP 5.3 на Apache 2 на сервере S.
