0

我正在使用 apache 和 symfony2 开发 x509 身份验证。我的 symfony 应用程序还在“/login”路径上使用登录名/密码进行身份验证,我想在“/login_x509”中配置一个位置。

这是我的 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 变量。但是对于 Location 我没有得到这个变量。

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

提前致谢。

4

1 回答 1

0

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

我需要阅读更多关于 apache 的信息。

谢谢!

于 2017-08-30T08:18:54.213 回答