apache stdenvvars不在位置内工作

问题描述:

我正在开发一个x509身份验证与Apache和symfony2。我的symfony应用程序还在'/ login'路径上使用登录名/密码进行身份验证,并且我想在'/ login_x509'中配置一个位置。apache stdenvvars不在位置内工作

这是我的apache配置。

<VirtualHost *:443> 
    ServerName extranet 
    DocumentRoot /var/www/symfony2/extranet/web 
    DirectoryIndex app.php 

    Timeout 600 
    KeepAliveTimeout 67 

    SSLEngine on 
    SSLCertificateFile /etc/apache2/ssl/extranet.crt 
    SSLCertificateKeyFile /etc/apache2/ssl/extranet.key 

    <Location /login_x509> 
     SSLOptions +StdEnvVars 
     SSLVerifyClient optional_no_ca 
     SSLVerifyDepth 10 
    </Location> 

    <Directory /var/www/symfony2/extranet/web> 
     # enable the .htaccess rewrites 
     AllowOverride All 
     Order allow,deny 
     Allow from All 
     LimitRequestBody 1024000 
    </Directory> 
    ErrorLog /var/log/apache2/extranet_error.log 
    CustomLog /var/log/apache2/extranet_access.log combined 
</VirtualHost> 

如果我评论它的工作完美的线条。我在应用程序上获得SSL_CLIENT_S_DN变量。但与位置我没有得到这个变量。

我尝试将“RequestHeader set X-Client-DN%{SSL_CLIENT_S_DN} e”放在位置内,但它不起作用。

在此先感谢。

解决方案是使用LocationMatch而不是Location。

我需要阅读更多关于Apache。

谢谢!