Apache-2.2

如果它尚不存在,則在 apache 中設置標題

  • February 8, 2021

我有一個正在註入一些標頭的代理,但我想對其進行修改,以便僅在標頭不存在時才設置標頭:

<Location /api>    
   RequestHeader set MY_HEADER "value"

   ProxyPass http://127.0.0.1:8000/api
   ProxypassReverse http://127.0.0.1:8000/api
</Location>

這可能嗎?

在 Apache 2.4.7、x86_64、Ubuntu 14.04 LTS

我發現這行得通

RequestHeader setIfEmpty X-Forwarded-For "127.0.0.1"

整天工作。但是,如果嘗試使用動態值,

RequestHeader setIfEmpty X-Forwarded-For "%{REMOTE_ADDR}e"

不起作用。我發現你需要 mod_rewrite 的幫助來收穫價值。我的配置現在看起來像這樣,並且可以正常工作。

RewriteRule . - [E=noxff:%{REMOTE_ADDR}] RequestHeader setIfEmpty X-Forwarded-For "%{noxff}e"

我知道這很愚蠢,但它確實有效。

引用自:https://serverfault.com/questions/520477