Apache2 Nginx отобразить реальный IP пользователя

Apache2 Nginx отобразить реальный IP пользователя

1. Подключаем модуль remoteip, идущий в комплекте

sudo a2enmod remoteip
2. Настраиваем.
Для того, чтобы REMOTE_ADDR был реальным прописываем настройку модуля remoteip либо в конфиг самого апача, либо в настройки VirtualHost

sudo nano /etc/apache2/apache2.conf

<IfModule remoteip_module>
RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 127.0.0.1
</IfModule>

Для того, чтобы логи писались с реальным IP правим конфиг апача на предмен настройки логов:
sudo nano /etc/apache2/apache2.conf
Существующий формат
LogFormat "%h %{host}i %l %u %D %T %{pid}P %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
Отредактированный формат
LogFormat "%a %{host}i %l %u %D %T %{pid}P %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined

(меняем %h -> %a ). Теперь и в логах реальный IP.

В файле конфигурации сайта в папке sites-available или в папке которой вы подключаете .conf файл, прописываем:  Коментарии убираем

location / { proxy_pass http://127.0.0.1:8080; # Перенаправить запрос Apache:
proxy_read_timeout 300s; #Обрывать коннект через 300 секунд, если превышен таймаут при чтении ответа с сервера Apache:
proxy_set_header Host $host; #Передать заголовки:
proxy_set_header X-Real-IP $remote_addr; #Передать IP клиента:
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #Передать список серверов по которым прошёл запрос и добавить свой
proxy_buffering off; #Отключить буферизацию проксируемого сервера:
}
location ~* ^.+\.(jpg|jpeg|gif|png|svg|bmp|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
root /var/www/public_html/; # путь к директории-папке сайта
index index.php;
}
19:05
205
Lit
RSS
Нет комментариев. Ваш будет первым!

Похожий контент

Устанавливаем Nginx Nginx доступен в стандартных репозиториях Ubuntu поэтому его прост...