2
juin
2025
Pourquoi le serveur Web Apache reçoit-il l'erreur AH01630 : client refusé par la configuration du serveur
16:46

Pourquoi le serveur Web Apache reçoit-il l'erreur AH01630 : client refusé par la configuration du serveur

2 juin 2025 16:46

Résoudre le problème de l'erreur AH01630 du serveur Web Apache.

Symptômes

Lors de l'ouverture d'une page Web si les droits sont mal définis, l'erreur de serveur Web AH01630 se produit.

Il y a des erreurs comme celle-ci dans le journal d'accès.

[Lun 02 juin 13:04:22.143071 2025] [authz_core:error] [pid 46931] [client 127.0.0.1:52900] AH01630 : client refusé par la configuration du serveur : /home/user/site/
[Lun 02 juin 13:05:49.982705 2025] [authz_core:error] [pid 47024] [client 127.0.0.1:44616] AH01630 : client refusé par la configuration du serveur : /home/user/site/index.php

La raison réside dans le paramètre de configuration d'Apache.

Comment puis-je reproduire l'erreur ?

sudo nano /etc/apache2/apache2.conf

        Options FollowSymLinks
        AllowOverride None
        Require all Denied
épertoire>

apache2

Ctrl+O, "Entrée", Ctrl-X

systemctl restart apache2.service

Désormais, chaque fois que vous essayez d'ouvrir un site Web, vous recevrez l'erreur AH01630.

Comment résoudre le problème ?

1. Modification du fichier apache2.conf

Dans le dossier /etc/apache2/apache2.conf il doit y avoirExiger que tout soit accordé


        Options FollowSymLinks
        AllowOverride All

        Require all Granted
épertoire>

La directive AllowOverride All est facultative. Si aucun, les fichiers .htaccess n'ont aucun effet.

2. Activation du module a2enmod vhost_alias_module pour les hôtes virtuels

sudo a2enmod vhost_alias
sudo a2enmod mod_authz_host
sudo systemctl restart apache2

Cette commande est nécessaire pour le point suivant.

3. Modification des fichiers .conf dans le répertoire sites-available - fichiers de configuration de l'hôte virtuel

Nous limitons les droits d'accès aux sites et répertoires virtuels dans les fichiers

sudo nano /etc/apache2/sites-available/file.conf

Dans la section de description de l'hôte virtuel, recherchez la section Répertoire - elle décrit le dossier où se trouvent les documents PHP et les droits d'accès Apache :


    Options Indexes MultiViews
    AllowOverride All
    Require all Denied
    Allow from 127.0.0.1
épertoire>

Ici, j'ai restreint l'accès au serveur de test uniquement à partir de l'ordinateur actuel - serveur Web (localhost) 127.0.0.1.

Pour autoriser un accès complet à partir de n'importe quelle adresse IP, vous devez supprimer la directive "Autoriser à partir de 127.0.0.1" et permettre l'accès de partout Exiger que tout soit accordé.

A partir d'Apache 2.4, le format du fichier de conf a changé : les directives "Commande refuser, autoriser". Voir officiel liste des changements entre les versions 2.2 et 2.4.

Activer spécifiquement le module authz_host командой sudo a2enmod authz_host pas requis, car les modules authz_host et authz_core sont activés par défaut.

Redémarrage du service Relecture des fichiers de configuration du serveur web Apache après édition des fichiers .conf

sudo systemctl recharger apache2.service

ou

sudo apachectl -k graceful

4. Recherchez un fichier .htaccess caché dans le répertoire personnel du site

Les fichiers .htaccess agissent sur chaque demande de document du serveur Web. Le fichier doit se trouver dans le répertoire de base des documents du site et peut également contenir des directives Order deny, Allow héritées. Selon documentation officielle pour la migration d'Apache 2.2 vers Apache 2.4, mélangeant de nouvelles directives Autoriser le remplacement et l'ancien « Ordre refuser, autoriser » peut entraîner des conséquences imprévisibles.

Il est préférable de spécifier un hôte pour déboguer un site Web dans le fichier d'hôtes virtuels (.conf),
en utilisant la directive "Allow from " dans la section , par exemple :

Autoriser à partir de 127.0.0.1

5. Droits d'accès du serveur Web aux fichiers

Définition des droits d'accès corrects au répertoire ./site_dir et à tous les fichiers qu'il contient.

CD ~
sudo chown -R www-data:www-data ./site_dir
sudo find site_dir/ -type d -exec chmod 755 {} \;
sudo find site_dir/ -type f -exec chmod 644 {} \;

6. Fichier d'hôtes

cat /etc/hosts | less

Dans celui-ci, j'ai précédemment ajouté une ligne comme
127.0.0.1 monsite

Où monsite est le nom d'alias du site pour l'hôte virtuel (correspond à la directive ServerName monsite
dans le fichier /etc/apache2/sites-available/file.conf

Vérifier

Vérification de l'ouverture d'une page Web dans un navigateur avec le préfixe http://monsite - le site Web s'ouvre sans erreur.



Publications connexes