我可以向/ foo发送http请求,添加标头plaa请求,最后使用以下Apache httpd配置(foobar.conf文件)将请求重定向到/ bar ...
CustomStringconvertible
如何将plaa标头的值作为base64编码文件内容?
我可以想象我可以这样做......
<LocationMatch "/foo">
ProxyPass http://localhost/bar
ProxyPassReverse http://localhost/bar
ProxyPassReverse https://localhost/bar
RequestHeader set plaa "hello"
</LocationMatch>
但是我想知道是否有任何内置的方法来使用Apache。
答案 0 :(得分:0)
Apache httpd不支持从文件中读取http标头内容。
这是在Unix环境中手动执行此操作的快速解决方法。
(如果您愿意,可以将以下步骤轻松放入脚本文件中。)
第1步。
Go to 'location_where_apache_httpd_is_running:/etc/httpd/conf.d'
步骤2.为标题值创建文件。
echo 'your base are belong to us' > header_value.txt
步骤3.将以下行写入文件apache_app.conf_base。
Listen 8001
ProxyPass /foobar/ http://localhost:8002/foobar
ProxyPassReverse /foobar/ http://localhost:8002/foobar
Header add App-Header "value"
RequestHeader App-Header "value"
步骤4.用base64编码的header_value.txt替换'value'字符串。
sed s_value_$(echo $(cat message.json | tr -d "\n\r") | base64 -w 0)_g apache_app.conf_base > apache_app.conf
步骤5.重新启动httpd
service httpd restart
现在apache httpd根据apache_app.conf执行以下操作。