2017-08-29 2 views
0

Je développe une authentification x509 avec apache et symfony2. Mon application symfony a aussi une authentification avec login/mot de passe sur le chemin '/ login', et je voudrais configurer un emplacement dans '/ login_x509'.apache stdenvvars ne fonctionne pas à l'intérieur de l'emplacement

Ceci est ma configuration 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> 

Si je commente les lignes cela fonctionne parfaitement. J'obtiens les variables SSL_CLIENT_S_DN sur l'application. Mais avec l'emplacement je n'obtiens pas ces variables.

Je tente de placer la ligne "RequestHeader définir X-Client-DN% {SSL_CLIENT_S_DN} e" dans l'emplacement mais cela ne fonctionne pas.

Merci d'avance.

Répondre

0

La solution consistait à utiliser LocationMatch au lieu de Location.

J'ai besoin d'en savoir plus sur Apache.

Merci!