2017-08-08 2 views
0

J'ai un serveur web exécutant Apache 2.4.6 sous CentOS 7 dans lequel j'ai plusieurs ressources web. Je veux appliquer l'authentification LDAP seulement à certains d'entre eux, donc j'essaye de le faire en créant un seul virtualhost pour chaque ressource et configurer l'authentification LDAP seulement aux ressources que je veux.Authentification Apache LDAP uniquement pour certains hôtes virtuels

C'est ma tentative:

/etc/httpd/conf.d/test1.conf:

<VirtualHost *:80> 
Servername server_name 
DocumentRoot /var/www/html/test1 

<Directory "/var/www/html/test1"> 
Options FollowSymLinks 
AllowOverride None 
Order allow,deny 
Allow from all 

#LDAP 
SetHandler php-script 
Require all denied 
AuthBasicProvider ldap 
AuthUserFile /dev/null 
AuthName "ldap_auth" 
AuthType Basic 
AuthLDAPURL ldap_url 
AuthLDAPBindDN ldap_dn 
AuthLDAPBindPassword ldap_pass 
Require ldap-group ldap_group 

</Directory> 
</VirtualHost> 

/etc/httpd/conf.d/test2.conf:

<VirtualHost *:80> 
    Servername server_name 
    DocumentRoot /var/www/html/test2 

    <Directory "/var/www/html/test2"> 
    Options FollowSymLinks 
    AllowOverride None 
    Order allow,deny 
    Allow from all 
    </Directory> 
</VirtualHost> 

Ce sont les informations pertinentes de mon fichier en cours httpd.conf:

Mais il demande toujours l'authentification à la fois pour test1 et test2 et pour test2 je ne suis même pas capable de charger le contenu après la connexion (test1 charge bien).

Répondre

0

Enfin réalisé à l'aide Alias ​​ directive, donc:

/etc/httpd/conf.d/test1.conf:

<VirtualHost *:80> 
Servername server_name 
DocumentRoot /var/www/html/test1 

Alias /test1 /var/www/html/test1 
<Directory "/var/www/html/test1"> 
Options FollowSymLinks 
AllowOverride None 
Order allow,deny 
Allow from all 

#LDAP 
SetHandler php-script 
Require all denied 
AuthBasicProvider ldap 
AuthUserFile /dev/null 
AuthName "ldap_auth" 
AuthType Basic 
AuthLDAPURL ldap_url 
AuthLDAPBindDN ldap_dn 
AuthLDAPBindPassword ldap_pass 
Require ldap-group ldap_group 

</Directory> 
</VirtualHost> 

/etc/httpd/conf.d /test2.conf:

<VirtualHost *:80> 
Servername server_name 
DocumentRoot /var/www/html/test2 

Alias /test2 /var/www/html/test2 
<Directory "/var/www/html/test2"> 
Options FollowSymLinks 
AllowOverride None 
Order allow,deny 
Allow from all