Jestem całkiem nowy dla Nginx i wydaje mi się, że jest taki mylący. Mam doskonale skonfigurowany serwer, ale problem jest, ponieważ mój serwer jest chroniony za pomocą serwera proxy HTTP; zamiast rejestrować rzeczywiste adresy IP użytkowników, rejestruje IP serwera proxy.Nginx zastępuje REMOTE_ADDR z X-Forwarded - dla
Próbowałem ustawić $_SERVER['REMOTE_ADDR'];
na $_SERVER['X-Forwarded-For'];
, ale otrzymuję niezdefiniowany błąd indeksu, więc zgaduję, że muszę zdefiniować X-Forwarded-For
w Nginx? Ale nie wiem, jak to zrobić, mam prostą konfigurację, to po prostu Nginx z PHP. Nic dodać nic ująć.
Przeszukałem całą sieć, ale nie mogę znaleźć informacji przyjaznych dla zrozumienia.
Mam dostęp do kodu źródłowego, jeśli to trochę pomaga. Próbowałem wielu rozwiązań, ale bezskutecznie.
To jeden ze sposobów, ale w jaki sposób obsługiwać przypadki, w których wnioski nie wchodzą w za pośrednictwem pełnomocnika, takie jako żądania testowe z 'localhost'? – Brad
Nie rób tego. To się nie powiedzie, jeśli oryginalny klient wyśle nagłówek X-Forwarded-For (proxy to robi), ponieważ wtedy twój REMOTE_ADDR będzie miał 2 adresy IP rozdzielone przecinkami. –