Hob*_*lla 16 reverse-proxy http-headers apache-2.2
我有一个正在注入一些标头的代理,但我想修改它,以便它只设置标头(如果标头尚不存在):
<Location /api>
RequestHeader set MY_HEADER "value"
ProxyPass http://127.0.0.1:8000/api
ProxypassReverse http://127.0.0.1:8000/api
</Location>
Run Code Online (Sandbox Code Playgroud)
这可能吗?
小智 9
在 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"
我知道这很愚蠢,但它有效。
怎么样:
RequestHeader set X-My-Header "value" expr="req('X-My-Header')==''"
Run Code Online (Sandbox Code Playgroud)
有关expr= 语法的更多信息,请参阅http://httpd.apache.org/docs/current/expr.html。
编辑:在 Apache 2.2 中你应该能够做到这一点:
SetEnvIf X-My-Header "" no_my_header
RequestHeader set X-My-Header "value" env=no_my_header
Run Code Online (Sandbox Code Playgroud)
小智 5
阿帕奇 2.4.7
Header setifempty Access-Control-Allow-Origin "*"
Run Code Online (Sandbox Code Playgroud)
Apache 2.2.4 以下
Header append Access-Control-Allow-Origin ""
Header edit Access-Control-Allow-Origin "^$" "*"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
37380 次 |
最近记录: |