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

У меня есть сервер, на котором работает mod_proxy, и мне нужно переименовать заголовок запроса. Прокси, расположенный ближе к источнику, удаляет заголовок X-Forwarded-For, но нам нужно, чтобы эти данные сохранялись, поэтому я хочу добавить значение в другой заголовок, чтобы источник мог его забрать.

Из моего прочтения документа нет способа переименовать заголовок, и я не вижу, как передать значения в RequestHeader add в mod_headers.

1 ответ

Решение

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 получено.

Другие вопросы по тегам