Apache httpd простой метод для возврата удаленного адреса

У меня есть несколько удаленных систем, которым нужно определить их общедоступные IP-адреса, и я хотел бы использовать интернет-сервер под управлением httpd 2.2, чтобы вернуть им их удаленные адреса.

хотя это было бы тривиально, если бы сервер httpd работал на PHP или аналогичном, я хотел бы избежать необходимости дополнительной обработки на стороне сервера, если httpd и его модули могут быть настроены для получения этой информации.

есть ли способ настроить httpd для возврата удаленного адреса? Может быть, есть специальный URL, который переписывается каким-то образом? Если это имеет значение, удаленные системы работают под управлением linux и, скорее всего, использовать wget, который может печатать информацию из заголовков.

1
задан Chris Mendez
08.03.2023 10:47 Количество просмотров материала 3152
Распечатать страницу

1 ответ

интересный вопрос. Я не думаю, что Apache может что-либо сделать с содержимым документа без использования языка сценариев на стороне сервера, но вы должны иметь возможность изменять заголовки HTTP, чтобы содержать необходимые вам данные.

пример:

<VirtualHost *:80>
  ServerName get-remote-host.int.mtak.nl

  SetEnvIf Remote_Host "(.*)" var1=
  Header set X-RemoteHost %{var1}e
</VirtualHost>

это поместит дополнительный заголовок в заголовки HTTP ответа. Если вы получаете заголовки этого запроса с curl -I get-remote-host.int.mtak.nl вы получаете IP клиента:

mtak@frisbee:~$ curl -I get-remote-host.int.mtak.nl
HTTP/1.1 200 OK
[...]
X-RemoteHost: 10.100.1.2
Content-Type: text/html
2
отвечен mtak 2023-03-09 18:35

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх