Apache SERVER 变量设置 SSL_CLIENT_VERIFY

Apache SERVER 变量设置 SSL_CLIENT_VERIFY

我刚刚安装了 WHM/cPanel,我的脚本需要 SSL_CLIENT_VERIFY 变量,而该变量不在我的当前 $_SERVER 变量列表中。如何在 CGI 脚本的环境中设置此变量?

答案1

这是一个 CGI 变量,当客户端使用客户端 SSL 证书连接时,apache(或 nginx 或任何 https 服务器)将设置该变量。

为了设置它,Web 服务器需要请求并接受客户端证书。在 apache 中,您可以通过将指令添加到SSLVerifyClient您的配置中来执行此操作(在将运行您的脚本的 vhost 的虚拟主机配置中执行此操作)。只要SSLVerifyClient设置为 以外的值,就应该设置此变量,但除非设置为或(这意味着如果允许连接,则证书有效),none否则其内容并不是很有用。optional_no_caoptionalrequire

您可能还想指定一个 CA 证书,证书将根据该证书进行验证(该 CA 证书将充当您的客户端证书的信任根,并可能直接对其进行签名)。为此,请指定SSLCACertificateFileSSLCACertificatePath指令。

请记住,更改此配置后,您必须重新加载 apache 配置。

要进行测试,请使用包含客户端证书的浏览器浏览网站,然后尝试出示证书或不出示证书。在这两种情况下,都应该设置变量。但是,如果没有要求您提供客户端证书,则变量将取消设置,您也可以推断配置指令未生效(仔细检查您的配置;该指令应与 在同一范围内,SSLEngine On并且只能在SSLEngine On设置 的地方指定才有用)。

相关内容