在 Apache 代理中截断基本身份验证用户名和密码

在 Apache 代理中截断基本身份验证用户名和密码

我们需要将请求代理到服务器。发送者拥有自动生成的用户名和密码,并将使用基本身份验证。我们无法更改发送者生成这些内容的方式。

服务器只接受少于 32 个字符的用户名和密码。如果自动生成的用户名和密码较长(通常较长),那么如果我们将用户名和密码截断为 32 个字符,请求就会成功。

因此,我需要检查授权标头,对用户名和密码进行 base64 解码,将每个字符截断为最多 32 个字符,然后在传递请求之前重新组装授权标头。

有什么办法吗?我仔细阅读了 mod_headers 文档,知道可以做很多操作,但不知道该如何完成……

答案1

请检查 mod_lua。您可以挂接 Apache auth_checker 阶段来执行任何您想要的操作。

点击此处了解更多详情。 http://httpd.apache.org/docs/trunk/mod/mod_lua.html

相关内容