У меня есть служба, которая устанавливает заголовок x-user_type. Поскольку Apache2.4.33 не может использовать это, я преобразую это следующим образом в .htaccess:
<IfModule mod_headers.c>
<IfModule mod_setenvif.c>
SetEnvIfNoCase ^x.user.type$ ^(.*)$ fix_x-user_type=$1
RequestHeader set x-user-type %{fix_x-user_type}e env=fix_x-user_type
</IfModule>
</IfModule>
Но если я предоставлю x-user-type в запросе, тогда значение для x-user-type в ответе будет перезаписано
Примеры:
Я думаю, что это проблема конфигурации apache. Может ли кто-нибудь помочь мне решить эту проблему?
Исправил мою проблему с этим: https://serverfault.com/a/900745/490242
Цитата:
Значение набора
RequestHeader
поддерживает выражения, а выражения включают функциюreq
(или http), которая дает вам значение заголовков запроса. Итак, эта одна директива должна делать то, что вы хотите:
RequestHeader set X-CAS-email-primary "expr =% {req: X-CAS-email_primary}"
Вы должны углубиться в документацию, чтобы найти такие вещи, но они есть.Не уверен, почему ваша конфигурация не сработала, но я предполагаю, что SetEnvIfNoCase оценивается после RequestHeader. Документация не позволяет легко понять это.
Похоже, SetEnvIfNoCase
тоже была моей проблемой.