Отображение реального IP-адреса для Apache за обратным прокси-сервером Nginx.
В продуктиве используется связка Nginx + Apache, где Nginx выступает в роли прокси-сервера для Apache. Рассмотрим как передавать реальный IP-адрес для Apache за обратным прокси-сервером Nginx.
JUQwJTlGJUQwJUJFJTIwJUQxJTgzJUQwJUJDJUQwJUJFJUQwJUJCJUQxJTg3JUQwJUIwJUQwJUJEJUQwJUI4JUQxJThFJTIwJUQwJUJGJUQxJTgwJUQwJUI4JTIwJUQxJTgyJUQwJUIwJUQwJUJBJUQwJUJFJUQwJUI5JTIwJUQxJTgxJUQwJUIyJUQxJThGJUQwJUI3JUQwJUJBJUQwJUI1JTJDJTIwJUQwJUJFJUQxJTgyJUQwJUJFJUQwJUIxJUQxJTgwJUQwJUIwJUQwJUI2JUQwJUI1JUQwJUJEJUQwJUI4JUQwJUI1JTIwSVAtJUQwJUIwJUQwJUI0JUQxJTgwJUQwJUI1JUQxJTgxJUQwJUIwJTIwJUQwJUIyJTIwJUQwJUJCJUQwJUJFJUQwJUIzJUQwJUIwJUQxJTg1JTIwQXBhY2hlJTIwJUQwJUIxJUQxJTgzJUQwJUI0JUQwJUI1JUQxJTgyJTIwJUQwJUI3JUQwJUJEJUQwJUIwJUQxJTg3JUQwJUI4JUQxJTgyJUQxJTgxJUQxJThGJTIwJUQwJUIwJUQwJUI0JUQxJTgwJUQwJUI1JUQxJTgxJTIwJUQwJUJGJUQxJTgwJUQwJUJFJUQwJUJBJUQxJTgxJUQwJUI4LSVEMSU4MSVEMCVCNSVEMSU4MCVEMCVCMiVEMCVCNSVEMSU4MCVEMCVCMCUyME5naW54LiUyMCVEMCVBNyVEMSU4MiVEMCVCRSUyMCVEMCVCRCVEMCVCMCVEMCVCQSVEMCVCQiVEMCVCMCVEMCVCNCVEMSU4QiVEMCVCMiVEMCVCMCVEMCVCNSVEMSU4MiUyMCVEMSU4MSVEMCVCQiVEMCVCRSVEMCVCNiVEMCVCRCVEMCVCRSVEMSU4MSVEMSU4MiVEMCVCOCUyMCVEMCVCRiVEMSU4MCVEMCVCOCUyMCVEMCVCMCVEMCVCRCVEMCVCMCVEMCVCQiVEMCVCOCVEMCVCNyVEMCVCNSUyMCVEMCVCQiVEMCVCRSVEMCVCMyVEMCVCRSVEMCVCMiUyMCVEMCVCMiVEMCVCNSVEMCVCMS0lRDElODElRDAlQjUlRDElODAlRDAlQjIlRDAlQjUlRDElODAlRDAlQjAlMjBBcGFjaGUu
Nginx
В файле конфигурации виртуального хоста в секцию location
необходимо добавить следующие параметры:
Описание используемых директив:
proxy_set_header Host $host;
— Передает оригинальный заголовокHost
, чтобы проксируемый сервер знал, какой хост был запрошен клиентом.proxy_set_header X-Real-IP $remote_addr;
— Передает реальный IP-адрес клиента, чтобы конечный сервер знал, откуда пришел запрос.proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
— Передает цепочку IP-адресов всех прокси, через которые прошел запрос, включая реальный IP клиента.
После правки конфигурационных файлов перезапускаем Nginx. Лучше проверить конфигурацию перед перезагрузкой Nginx:
bmdpbnglMjAtdA==
c3lzdGVtY3RsJTIwcmVsb2FkJTIwbmdpbng=
Apache
JUQwJTkyJTIwQXBhY2hlJTIwMi40JTIwJUQwJUIyJUQxJTg1JUQwJUJFJUQwJUI0JUQwJUI4JUQxJTgyJTIwJUQwJUJDJUQwJUJFJUQwJUI0JUQxJTgzJUQwJUJCJUQxJThDJUMyJUEwbW9kX3JlbW90ZWlwJTJDJTIwJUQwJUJBJUQwJUJFJUQxJTgyJUQwJUJFJUQxJTgwJUQxJThCJUQwJUI5JTIwJUQwJUJDJUQwJUJFJUQwJUI2JUQwJUI1JUQxJTgyJTIwJUQwJUJGJUQwJUI1JUQxJTgwJUQwJUI1JUQwJUI3JUQwJUIwJUQwJUJGJUQwJUI4JUQxJTgxJUQxJThCJUQwJUIyJUQwJUIwJUQxJTgyJUQxJThDJTIwJUQxJTgzJUQwJUI0JUQwJUIwJUQwJUJCJUQwJUI1JUQwJUJEJUQwJUJEJUQxJThCJUQwJUI5JTIwSVAtJUQwJUIwJUQwJUI0JUQxJTgwJUQwJUI1JUQxJTgxLiUyMCVEMCU5RCVEMCVCMCVEMSU4MSVEMSU4MiVEMSU4MCVEMCVCRSVEMCVCOCVEMCVCQyUyMCVEMCVCNSVEMCVCMyVEMCVCRSUyMCVEMSU4NyVEMSU4MiVEMCVCRSVEMCVCMSVEMSU4QiUyMCVEMCVCRSVEMCVCRCUyMCVEMCVCRiVEMSU4MCVEMCVCOCVEMCVCRCVEMCVCOCVEMCVCQyVEMCVCMCVEMCVCQiUyMCVEMCVCRiVEMSU4MCVEMCVCRSVEMCVCMSVEMSU4MCVEMCVCRSVEMSU4MSUyMElQLSVEMCVCMCVEMCVCNCVEMSU4MCVEMCVCNSVEMSU4MSVEMCVCMCUyMCVEMSU4MSUyMCVEMCVCRiVEMSU4MCVEMCVCRSVEMCVCQSVEMSU4MSVEMCVCOC0lRDElODElRDAlQjUlRDElODAlRDAlQjIlRDAlQjUlRDElODAlRDAlQjAlMjBOZ2lueC4=
Создаем конфигурацию для модуля mod_remoteip
. Выполняем команду:
Y2F0JTIwJTNDJTNDJTIwRU9GJTIwJTNFJTIwJTJGZXRjJTJGYXBhY2hlMiUyRmNvbmYtYXZhaWxhYmxlJTJGcmVtb3RlaXAuY29uZg==
JTNDSWZNb2R1bGUlMjByZW1vdGVpcF9tb2R1bGUlM0U=
RemoteIPHeader X-Forwarded-For
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwUmVtb3RlSVBUcnVzdGVkUHJveHklMjAxMjcuMC4wLjE=
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwUmVtb3RlSVBJbnRlcm5hbFByb3h5JTIwMTI3LjAuMC4x
JTNDJTJGSWZNb2R1bGUlM0U=
EOF
RemoteIPInternalProxy
необходимо указать IP-адрес прокси-сервера.Активируем модуль mod_remoteip
и созданную конфигурацию:
a2enmod remoteip
YTJlbmNvbmYlMjByZW1vdGVpcA==
JUQwJTk0JUQwJUJCJUQxJThGJTIwJUQxJTgyJUQwJUJFJUQwJUIzJUQwJUJFJTIwJUQxJTg3JUQxJTgyJUQwJUJFJUQwJUIxJUQxJThCJTIwJUQwJUIyJTIwJUQwJUJCJUQwJUJFJUQwJUIzJUQwJUIwJUQxJTg1JTIwQXBhY2hlJTIwJUQwJUJFJUQxJTgyJUQwJUJFJUQwJUIxJUQxJTgwJUQwJUIwJUQwJUI2JUQwJUIwJUQwJUJCJUQwJUI4JUQxJTgxJUQxJThDJTIwJUQwJUJGJUQwJUI1JUQxJTgwJUQwJUI1JUQwJUI0JUQwJUIwJUQwJUIyJUQwJUIwJUQwJUI1JUQwJUJDJUQxJThCJUQwJUI1JTIwSVAtJUQwJUIwJUQwJUI0JUQxJTgwJUQwJUI1JUQxJTgxJUQwJUIwJTIwJUQwJUJBJUQwJUJCJUQwJUI4JUQwJUI1JUQwJUJEJUQxJTgyJUQwJUJFJUQwJUIyJTJDJTIwJUQwJUJEJUQwJUI1JUQwJUJFJUQwJUIxJUQxJTg1JUQwJUJFJUQwJUI0JUQwJUI4JUQwJUJDJUQwJUJFJTIwJUQwJUJGJUQwJUJFJUQwJUJGJUQxJTgwJUQwJUIwJUQwJUIyJUQwJUI4JUQxJTgyJUQxJThDJTIwJUQxJTg0JUQwJUJFJUQxJTgwJUQwJUJDJUQwJUIwJUQxJTgyJTIwJUQwJUJCJUQwJUJFJUQwJUIzJUQwJUJFJUQwJUIyLiUyMCVEMCU5MiUyMCVEMSU4NCVEMCVCMCVEMCVCOSVEMCVCQiVEMCVCNSVDMiVBMCUyRmV0YyUyRmFwYWNoZTIlMkZhcGFjaGUyLmNvbmYlMkMlMjAlRDAlQkYlRDElODAlRDAlQjglRDAlQjIlRDAlQkUlRDAlQjQlRDAlQjglRDAlQkMlMjAlRDAlQkElMjAlRDAlQjIlRDAlQjglRDAlQjQlRDElODMlMjAlRDAlQkYlRDAlQjAlRDElODAlRDAlQjAlRDAlQkMlRDAlQjUlRDElODIlRDElODAlRDElOEIlM0E=
LogFormat "%v:%p %a %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
TG9nRm9ybWF0JTIwJTIyJTI1YSUyMCUyNWwlMjAlMjV1JTIwJTI1dCUyMCU1QyUyMiUyNXIlNUMlMjIlMjAlMjUlM0VzJTIwJTI1TyUyMCU1QyUyMiUyNSU3QlJlZmVyZXIlN0RpJTVDJTIyJTIwJTVDJTIyJTI1JTdCVXNlci1BZ2VudCU3RGklNUMlMjIlMjIlMjBjb21iaW5lZA==
LogFormat "%a %l %u %t \"%r\" %>s %O" common
TG9nRm9ybWF0JTIwJTIyJTI1JTdCUmVmZXJlciU3RGklMjAtJTNFJTIwJTI1VSUyMiUyMHJlZmVyZXI=
LogFormat "%{User-agent}i" agent
JUQwJTk0JUQwJUJCJUQxJThGJTIwJUQwJUJGJUQxJTgwJUQwJUI4JUQwJUJDJUQwJUI1JUQwJUJEJUQwJUI1JUQwJUJEJUQwJUI4JUQxJThGJTIwJUQwJUI4JUQwJUI3JUQwJUJDJUQwJUI1JUQwJUJEJUQwJUI1JUQwJUJEJUQwJUI4JUQwJUI5JTJDJTIwJUQwJUJGJUQwJUI1JUQxJTgwJUQwJUI1JUQwJUI3JUQwJUIwJUQwJUIzJUQxJTgwJUQxJTgzJUQwJUI2JUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQxJTgxJUQwJUJCJUQxJTgzJUQwJUI2JUQwJUIxJUQxJTgzJTIwYXBhY2hlJTNB
systemctl reload apache2
ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ
Обсуждение
Нет комментариев.