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

Добавить заголовок запроса на mod_proxy на основе значения другого заголовка запроса

У меня есть сервер, на котором запущен 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 получен.