客户端证书认证
进入应用 SSL
页面,点击编辑证书。
这里选择 Yes
或者 Optional
启用客户端认证。
- Yes:强制客户端认证,如果没有客户端证书或者客户端证书错误会直接返回 400 错误码。
- Optional:可选客户端认证,如果没有客户端证书或者客户端证书错误也不会返回 400 错误码,需要在页面规则中使用
Enable SSL Client Verify
动作进行认证。
如果客户端证书是自签证书,则需要上传签发该证书的 CA 证书。
页面规则中进行客户端认证
需要确保客户端认证的选项为
Optional
。
在页面规则中可以根据不同条件灵活地启用客户端认证,比如判断 URI 前缀为 /client-verify
时,才启用客户端认证。
我们也提供了客户端证书中 Subject DN
和 Issuer DN
作为条件,可以区分不同的客户端证书。
Subject DN
和 Issuer DN
可以通过 openssl
命令来读取:
# subject DN
openssl x509 -subject -nameopt RFC2253 -noout -in client.crt
# issuer DN
openssl x509 -issuer -nameopt RFC2253 -noout -in client.crt
如果我们想要自定义客户端认证错误页,可以在启用客户端认证前面添加自定义错误页动作。