@jeromy_ruecker
Для замены $_SERVER['REMOTE_ADDR']
на IP-адрес клиента в PHP на двух серверах Nginx, можно использовать следующий подход:
- Создайте пользовательскую переменную в конфигурации Nginx на первом сервере. Откройте конфигурационный файл Nginx (обычно это файл /etc/nginx/nginx.conf) и добавьте следующую строку внутри блока http:
1
2
3
4
5
6
|
http {
...
set_real_ip_from 127.0.0.1; # IP-адрес второго сервера Nginx
real_ip_header X-Forwarded-For;
...
}
|
- Перезагрузите сервер Nginx на первом сервере для применения изменений:
1
|
sudo systemctl reload nginx
|
- Откройте конфигурационный файл Nginx на втором сервере и добавьте следующую строку внутри блока server:
1
2
3
4
5
6
7
8
9
|
server {
...
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
...
}
...
}
|
- Перезагрузите сервер Nginx на втором сервере для применения изменений:
1
|
sudo systemctl reload nginx
|
- Теперь переменная $_SERVER['REMOTE_ADDR'] будет содержать IP-адрес клиента, передаваемый с прокси-сервера.
Пожалуйста, обратитесь к документации Nginx для получения более подробной информации о настройке прокси-сервера и настройке передачи IP-адреса клиента.