У меня есть сервер, на котором запущен mod_proxy, и мне нужно существенно переименовать заголовок запроса. Прокси-сервер, расположенный ближе к источнику, удаляет заголовок X-Forwarded-For, но нам нужно, чтобы эти данные сохранялись, поэтому я хочу добавить значение в другой заголовок, чтобы источник мог его забрать.
Из моего чтения документа нет возможности переименовать заголовок, и я не вижу, как передать значения в RequestHeader, добавить в mod_headers.
RequestHeader
может вставлять значения переменных среды в значения заголовков и SetEnvIf
может устанавливать переменные среды на основе значений заголовка запроса, поэтому следующая конфигурация должна обеспечить то, что вам нужно:
SetEnvIf X-Forwarded-For (.*) saved_x_forwarded_for=$1
RequestHeader set X-Custom-Forwarded-For "%{saved_x_forwarded_for}e"
Вы должны использовать set
вместо того add
, так что даже если клиент отправляет запрос, содержащий ваш настраиваемый заголовок, указанное клиентом значение будет перезаписано (хотя даже это не на 100% надежно, потому что X-Forwarded-For
заголовок тоже может быть подделан). Также проверьте, что произойдет, если запрос без X-Forwarded-For
получен.