2017-08-29 16 views
0

私はapacheとsymfony2でx509認証を開発しています。私のsymfonyアプリケーションは、 '/ login'パス上のlogin/passwordで認証されており、 '/ 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"という行を場所の内側に配置しようとしましたが、動作しません。

ありがとうございます。

答えて

0

解決策は、Locationの代わりにLocationMatchを使用することでした。

私はApacheの詳細を読む必要があります。

ありがとうございます!

関連する問題