apache 客户端证书有条件

apache 客户端证书有条件

我觉得很奇怪,我找不到信息也没有问题,但我正处于通过 apache 反向代理为某些网站提供服务的情况。

我必须通过 apache 上的 https 切换所有流量(包括 lan)。它实际上使用服务器和客户端证书通过 https 连接到这些站点。

我需要一个客户端证书的解决方案,对于内联网 IP 范围来说完全不需要,但对于世界其他地方来说却是强制性的。

Apache 使用虚拟主机

<location / >

    SSLVerifyClient require
    SSLVerifyDepth 10
    SSLOptions +StrictRequire
  .... otherstuff ......

</location>

对于客户端证书,因为我没有支持 SNI 的 apache,所以服务器通配符证书位于第一个虚拟主机上,而客户端证书在位置部分重新协商。一个选项是将 apache 升级到支持 SNI 的版本,但在我看来对我的 porpoises 没什么用。

答案1

看看答案允许来自 IP 地址且无需证书客户端身份验证的用户访问基本上,您使用 mod_rewrite 检查客户端是否已通过验证,如果已通过,则让其通过。如果没有通过,则返回 IP 检查。

请注意,您应该将SSLVerifyClient语句放在配置的根级别,以避免昂贵的 SSL 重新协商。

相关内容