Добавить заголовок запроса на 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
получено.