PHP$\u服务器变量中缺少客户端证书详细信息

PHP$\u服务器变量中缺少客户端证书详细信息,php,apache,ssl,client-certificates,self-signed,Php,Apache,Ssl,Client Certificates,Self Signed,我们正在使用客户端证书对后端网站的用户进行身份验证 当我们在Apache配置文件中使用SSLVerifyClient require时,我们还检查证书中的详细信息以验证用户。我最近从一台运行旧版本Apache的服务器转移到一台运行Apache 2.4.7的服务器 在以前的服务器上,PHP$\u服务器变量的密钥SSL\u CLIENT\u S\u DN\u CN和SSL\u CLIENT\u S\u DN\u电子邮件填充了来自客户端证书的这些详细信息。在新服务器上,这些密钥丢失。我已启用SSL选项

我们正在使用客户端证书对后端网站的用户进行身份验证

当我们在Apache配置文件中使用SSLVerifyClient require时,我们还检查证书中的详细信息以验证用户。我最近从一台运行旧版本Apache的服务器转移到一台运行Apache 2.4.7的服务器

在以前的服务器上,PHP$\u服务器变量的密钥SSL\u CLIENT\u S\u DN\u CN和SSL\u CLIENT\u S\u DN\u电子邮件填充了来自客户端证书的这些详细信息。在新服务器上,这些密钥丢失。我已启用SSL选项+ExportCertData

Apache配置和以前一样,我在下面发布和编辑版本

<VirtualHost 192.0.0.1:443>

DocumentRoot /dir
ServerName   192.0.0.1


SSLEngine on

<IfModule mod_php4.c>
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .html
</IfModule>
<IfModule mod_php5.c>
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .html
</IfModule>
AddHandler cgi-script .cgi
AddHandler cgi-script .pl
ScriptAlias /cgi-bin   "/dir/cgi-bin"

<DIRECTORY /dir>
OPTIONS  Indexes ExecCGI FollowSymLinks
SSLOptions +StdEnvVars
AllowOverride All
</DIRECTORY>

#below all self-signed
SSLCertificateFile /ssl/cert.pem
SSLCertificateKeyFile /ssl/key.pem
SSLCACertificateFile /ssl/cacert.pem

SSLVerifyClient require
SSLOptions +FakeBasicAuth +ExportCertData +StdEnvVars

SSLVerifyDepth 1
IndexOptions FancyIndexing
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown

</VirtualHost>

DocumentRoot/dir
服务器名192.0.0.1
斯伦金安
AddType应用程序/x-httpd-php.php3
AddType应用程序/x-httpd-php.php
AddType应用程序/x-httpd-php-source.phps
AddType应用程序/x-httpd-php.html
AddType应用程序/x-httpd-php.php3
AddType应用程序/x-httpd-php.php
AddType应用程序/x-httpd-php-source.phps
AddType应用程序/x-httpd-php.html
AddHandler cgi script.cgi
AddHandler cgi script.pl
脚本别名/cgi-bin“/dir/cgi-bin”
选项索引ExecCGI FollowSymLinks
发展+标准
允许超越所有
#下面都是自己签名的
SSLCertificateFile/ssl/cert.pem
SSLCertificateKeyFile/ssl/key.pem
SSLCACertificateFile/ssl/cacert.pem
SSLVerifyClient要求
SSLOptions+FakeBasicAuth+ExportCertData+StdEnvVars
SSLVerifyDepth 1
范欣德兴指数
SetEnvIf用户代理“*MSIE.*”无保留ssl未清理关闭
我想知道是否有人能解释一下如何将这些变量填充到PHP中。Apache或PHP中是否有我缺少的配置选项


EDIT-yes/dir是我们正在运行它的目录(上面从实际目录更改)。不知道为什么我在目录标签中第二次有+StdEnvVars,老实说:)

你在
/dir
中有
SSLOptions+StdEnvVars
。我假设这就是您正在测试的目录?
SSL\u CLIENT\u S\u DN\u CN
变量是由Apache的
mod\u SSL
设置的,请确保它已启用。如果Apache作为前端后面的后端运行,这应该不起作用。您在
/dir
中有
SSLOptions+StdEnvVars
。我假设这就是您正在测试的目录?
SSL\u CLIENT\u S\u DN\u CN
变量是由Apache的
mod\u SSL
设置的,请确保它已启用。如果Apache作为前端后面的后端运行,这应该不起作用。您在
/dir
中有
SSLOptions+StdEnvVars
。我假设这就是您正在测试的目录?
SSL\u CLIENT\u S\u DN\u CN
变量是由Apache的
mod\u SSL
设置的,请确保它已启用。如果Apache在前端后面作为后端运行,那么这就不应该起作用。