有没有一种方法可以绕过Apache Web服务器中某些用户/ IP范围/服务调用中使用的mod_auth_openidc模块?

问题描述

对于一个Web应用程序,我们使用了带有mod_auth_openidc模块的Apache Web服务器作为身份验证层。它位于我们的网络应用程序的前面。

需要让某些服务的请求(例如,Web爬网程序,以爬网Web应用程序)绕过此OIDC层。 有没有办法添加此覆盖或绕过mod_auth_openidc来请求某些用户,服务甚至IP范围的请求?

我尝试浏览__fastfail documentation的配置选项,但至今仍找不到能做到这一点的配置。

解决方法

您应该能够使用标准的<If>指令-参见https://httpd.apache.org/docs/current/mod/core.html#if-具有与https://httpd.apache.org/docs/current/expr.html中所述的某些标头/ ip匹配的表达式,例如:

<If "-R '192.168.1.0/24'">
    Require ip 192.168.1.1
</If>
<Else>
    AuthType openid-connect
    Require valid-user
</Else>

请注意,尽管标头欺骗很容易,但本地IP匹配可能是最安全的选择。