kgaut.net // Développeur web PHP / Drupal freelance
contactez-moi

Apache 2.4 - Vhost - Restreindre l'accès à un site sauf pour certaines IP

Cet article a été écrit il y a plus de quatre ans, son contenu n'est peut-être plus d'actualité.

Il est facile sous apache de restreindre l'accès à un site dans un virtual host via l'instruction Require valid-user.

Exemple :

         <Directory "/home/monsite/web">
                AuthType Basic
                AuthName "Restricted Content"
                AuthUserFile /home/monsite/htpasswd-preprod
                Require valid-user
                AllowOverride All
                Options -Indexes +FollowSymLinks +MultiViews
        </Directory>

Mais dans certains cas, on veut autoriser certaines ip à accéder au site sans authentification "htpasswd", dans le cas de retour de brique de paiement, ou de webservice, dans ce cas on peut utiliser la forme suivante :

         <Directory "/home/monsite/web">
                AuthType Basic
                AuthName "Restricted Content"
                AuthUserFile /home/monsite/htpasswd-preprod
                <RequireAny>
                        Require valid-user
                        Require ip 194.01.01.0/24 #autorisation d'une range d'ip
                        Require ip 134.0.0.1 #autorisation d'une ip unique
                </RequireAny>
                AllowOverride All
                Options -Indexes +FollowSymLinks +MultiViews
        </Directory>

Ainsi les accès provenant d'autres parties que l'ip définie ou le range d'ip se verront présenter l'authentification via le htpasswd défini.

Commentaires (0)