Назад | Перейти на главную страницу

Как получить реальный IP-адрес (а не 127.0.0.1) для отображения как удаленный IP-адрес при пересылке запросов в httpd

У меня есть httpd-сервер, сидящий перед tomcat. Обе службы работают на одном компьютере.

У машины 2 IP-адреса, и у меня есть доменные имена, привязанные к разным IP-адресам.

В журналах доступа для tomcat все удаленные IP-адреса показывают 127.0.0.1. Я думаю, это потому, что Tomcat знает, что запрос исходит от клиента, который идентифицирует себя с IP 127.0.0.1, и что этот клиент на самом деле является Apache.

Есть ли способ заставить Apache идентифицировать себя по фактическому IP-адресу, к которому привязано доменное имя?

РЕДАКТИРОВАТЬ: немного более длинная история ...

На самом деле я пытаюсь определить, поступают ли запросы из нашей внутренней сети или из Интернета. У нас есть 2 имени хоста, которые разрешаются в 2 разных IP-адреса. Один из этих адресов виден в Интернете, а другой - нет. Я надеялся, что смогу определить, какой IP / URL-адрес пользователь фактически ввел в свой браузер, и использовать его для отключения определенных функций, которые мы не хотим использовать извне интрасети.

Привет, Питер

Tomcat должен поддерживать X-Forwarded-For header (Apache делает это с модулем rpaf), а httpd (Apache, я думаю) должен установить этот заголовок для вас.

Кстати, если вы используете прокси, вам не лучше использовать Nginx?