我正在尝试为 nginx https 服务器创建一个回退方案。我希望支持使用客户端证书的双向 TLS 和使用身份验证方法(例如基本身份验证)的单向 TLS。我想要实现的是,如果我无法使用客户端证书建立双向 TLS,则回退到使用附加身份验证方法的单向 TLS。
知道我该怎么做吗?我对 nginx 配置还不熟悉,所以任何帮助都会很有用。
我正在尝试为 nginx https 服务器创建一个回退方案。我希望支持使用客户端证书的双向 TLS 和使用身份验证方法(例如基本身份验证)的单向 TLS。我想要实现的是,如果我无法使用客户端证书建立双向 TLS,则回退到使用附加身份验证方法的单向 TLS。
知道我该怎么做吗?我对 nginx 配置还不熟悉,所以任何帮助都会很有用。
您需要将
ssl_verify_client
指令设置为optional
。此后,如果客户端证书验证成功,$ssl_client_verify
则变量的值将为SUCCESS
;否则,变量的值将为FAILED: reason
或NONE
(请参阅提供的文档链接)。如果变量值不等于使用块,您可以选择启用基本身份验证,如下所示:
$ssl_client_verify
SUCCESS
map