我们需要代理一个服务器的请求。 发件人具有自动生成的用户名和密码,并将使用基本身份validation。 我们不能改变这些如何由发件人生成。
服务器将只接受less于32个字符的用户名和密码。 如果自动生成的更长(而且经常是这样),那么如果我们截断两个字符到32个字符,请求就会成功。
所以我需要检查Authorization头,base64-解码用户名和密码,每个截断至多32个字符,然后在传递请求之前重新组装Authorization头。
有没有办法做到这一点? 我已经阅读了mod_headers文档,我可以看到如何做很多操作,但是我看不到如何完成这个工作。
请检查mod_lua。 您可以挂钩Apache auth_checker阶段来执行任何您想要的操作。
去这里了解更多细节。 http://httpd.apache.org/docs/trunk/mod/mod_lua.html