仅对非来自特定 IP 的请求才需要客户端证书

仅对非来自特定 IP 的请求才需要客户端证书

我有一个 Apache 2.4 服务器,作为我正在运行的许多服务器的 SSL 反向代理运行,并且我为此引入了一些客户端证书身份验证。

但是,有许多自动化服务使用此网关,并且无法修改为使用客户端证书进行身份验证,但仍然需要反向代理。

目前,为了打开客户端证书,我正在使用:

SSLCADNRequestFile /.../my_ca.crt

SSLVerifyClient require

<Location />
    SSLOptions      +FakeBasicAuth
    AuthName        "Auth Only Area"
    AuthType        Basic
    AuthUserFile    /.../clientAuth.htpasswd
    require         valid-user
</Location>

效果很好。

但是,有没有什么方法可以让我跳过来自(例如)IP 地址的任何请求12.34.56.78

答案1

刚刚找到解决方案,即将解决我的问题,但认为有一天它可能会帮助到某人......

SSLCADNRequestFile /.../ca.crt

<If "%{REMOTE_ADDR} != '12.34.56.78'">
    SSLVerifyClient require
</If>

<Location />
    SSLOptions      +FakeBasicAuth
    AuthName        "Auth Only Area"
    AuthType        Basic
    AuthUserFile    /.../clientAuth.htpasswd
    require         valid-user
</Location>

相关内容