Apache2: 'AH01630: client denied by server configuration"
Je reçois ce message d'erreur lorsque vous essayez d'accéder à localhost via un navigateur.
AH01630: client denied by server configuration
J'ai vérifié mon dossier site autorisations à l'aide de:
sudo chmod 777 -R *
Voici mon fichier de configuration:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /home/user-name/www/myproject
<Directory />
Options FollowSymLinks
AllowOverride all
Allow from all
</Directory>
<Location />
Allow from all
Order Deny,Allow
</Location>
<Directory /home/user-name/www/myproject/>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
Allow from all
</Directory>
ScriptAlias /cgi-bin//usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride all
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/"/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride all
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
- Êtes-vous à l'aide de la nouvelle Apache 2.4? Le chemin donne cette erreur?
- Oui, Apache 2.4, et ce qui se passe quand j'essaie de naviguer sur n'importe quel fichier dans le répertoire app
- Il semble que vous devez mettre à jour vos configurations. Jetez un oeil ici: httpd.apache.org/docs/2.4/upgrading.html#run-time
- Je l'ai déjà fait, mais j'ai remarqué qu'il fonctionne lorsque le projet dans /var/www mais quand il a été transféré à un autre chemin de ce qui se passe, j'ai donc créé un lien symbolique vers mon projet dans /var/www
- "configuration du serveur" -> pas explicitement permissions du système de fichiers.
- Veuillez hava un coup d'oeil à ceci: dabase.com/blog/AH01630:_client_denied_by_server_configuration
chmod 777
est une très mauvaise habitude, même si (soi-disant) uniquement être utilisés dans les exemples.- Où est le
VirtualHost
élément fermé? - chmod 777 n'est jamais la réponse.
- si vous utilisez l'un de la boîte configuré pile comme bitnami sur aws, VEUILLEZ faire une
sudo httpd -t -D DUMP_INCLUDES
et de lire ATTENTIVEMENT que les bons fichiers de configuration sont inclus. Dans mon cas, l'emplacement de la httpd-app.conf a été mal le httpd-vhosts.conf. J'ai été l'édition du fichier erroné pendant des heures avant que je compris cela.
Vous devez vous connecter pour publier un commentaire.
Si vous utilisez Apache 2.4
Vous devez cochez la case autoriser et refuser les règles
Découvrez http://httpd.apache.org/docs/2.4/upgrading.html#access
La nouvelle directive est Besoin:
2.2 configuration:
2.4 configuration:
Aussi, ne pas oublier de redémarrer le serveur apache après ces changements (
# service httpd restart
)DocumentRoot
et<Directory>
chemins.Order allow,deny ...
etRequire all granted
. Il ne veux pas travailler. Il doit être un seul de ces en fonction de votre version. C'est ce qui m'arrêtait à partir de résoudre mon problème en premier.conf/extra/httpd-vhosts.conf
fichier que vous pourriez avoir besoin pour remplacerRequire local
avecRequire all granted
Pour tous les répertoires écrire
Require all granted
au lieu deAllow from all
Mise à jour
Si le ci-dessus ne fonctionne pas, alors également supprimer cette mentionnées ci-dessous ligne:
Order allow,deny
ligne aussi bien.Require all granted
l'a fait pour moi, merci!<Location /media> Require all granted </Location>
surdefault-ssl.conf
pour mon CSS à charger. (Mon problème est que la page de connexion est accessible, mais pas de CSS ni d'autres fichiers multimédias ont été chargés...)Allow from All
a été mis à la retraite parce que .... raisons...)Vérifiez que le DocumentRoot chemin d'accès est correct. Qui peut provoquer cette erreur.
<Directory>
bloc. J'ai aussi eu quelques cas différences. Une fois que j'ai fait ces deux valeurs de carbone des copies les uns des autres (sans le slash), il a parfaitement fonctionné.apache/logs/error.log
:AH00112: Warning: DocumentRoot [E:/xampp/htdocs/website/frontend/web] does not exist
J'ai fait les mêmes modifications que ravisorg suggéré d'OSX 10.10 Yosemite que les mises à jour d'Apache à la version 2.4. Ci-dessous sont les changements qui ont été ajoutés à http.conf.
Ce qui m'a poussé absolument fou pour un jour et demi, mais j'ai trouvé une solution, si toutes les autres solutions ont été essayées sans succès.
C'est pour macOS.
À ce point, j'ai immédiatement arrêté l'obtention d'erreurs 403, et tout a commencé à travailler comme prévu. Bizarre, c'est que je n'ai même pas de redémarrer apache juste que cela fonctionne, je suppose que c'redémarré lui-même, quand je suis allé à mon localhost, honnêtement, je ne sais pas, mais je crois que le problème est Apache effectivement pas de redémarrage lors de l'utilisation de apachectl restart, ou d'arrêter ou de démarrer. Espérons que cela aide quelqu'un.
Le problème est dans le VirtualHost mais probablely n'est pas
Confirmer votre config est correct,voici l'échantillon correct
<Directory ...> ... </Directory>
lignes travaillé pour moi, puisque j'ai été en utilisant un chemin d'accès au répertoire qui n'était pas défini précédemment dans des configurations Apache avant.Si vous queue le journal des erreurs et de recharger la page, vous devriez voir quelques plus d'informations sur le problème exact.
Saisir les variables d'environnement et donc ${APACHE_LOG_DIR} sera effectivement le travail...
Alors la queue et de regarder...
LogLevel debug
pour le VirtualHost il est de bon conseil, comme vous le verrez alors des lignes comme "Exigent de tous refusé refusé", et "<RequireAny>: denied" (c'est à dire beaucoup plus utile qu'un simple "client denied by server configuration", comme il le raconte en fait que vous que configuration!)J'ai résolu mon auto après avoir passé quelques heures.
J'ai installé Apache/2.4.7 (Ubuntu) par le biais de coookbook dans vagrant vm.
/etc/apache2/apache2.fichier conf n'a pas
<VirtualHost *:80>
élément par défaut.J'ai fait deux changements pour le faire
<VirtualHost *:80>
Options Indexes FollowSymLinks
AllowOverride all
Permettre à tous
puis finalement j'ai juste démarré vm..
Quelqu'un a pensé que wamp server par défaut incluent pas les
httpd-vhosts.conf
fichier.Mon approche est de supprimer la note ci-dessous
dans
httpd.conf
fichier.C'est tout.
conf/extra/httpd-vhosts.conf
fichier et de le remplacer dans ceRequire local
avecRequire all granted
dans mon cas,
je suis sous macOS Mojave (Apache/2.4.34). Il y a un problème dans les paramètres de l'hôte virtuel dans /etc/apache2/extra/httpd-vhosts.fichier conf. après l'ajout du répertoire requis tag mon problème a disparu.
Besoin de toutes accordée
Espérons que la virtual host configuration de la structure, vous fera économiser.
tout ce que vous avez à faire remplacer le MainProjectFolderName avec votre ProjectFolderName.
Cela a été me rend fou. Enfin compris quel était le problème:
J'ai été en utilisant des chemins d'accès direct pour le journal des erreurs et qu'ils ont eu tort.
Pourquoi Apache donner une vague (et faux) message d'erreur? Au lieu d'utiliser un juste et utile de message d'erreur du type: Chemin d'accès à la directive ErrorLog "/mauvais/chemin/et/filename.journal" n'est pas valide.
De toute façon, pour fixer assurez-vous que votre journal d'erreur directives ressembler à quelque chose comme ceci:
Si vous utilisez Apache 2.4 dans WampServer sous windows OS.
Vous avez besoin pour ouvrir https-vhosts.conf fichier dans le bloc-notes.
Si vous ne parvenez pas à trouver le fichier ci-dessus. vérifier la capture d'écran ci-dessous
Dans le code ci-dessus, Remplacer
avec
Et de l'enregistrer. Redémarrez Apache service et essayez à nouveau.
Si vous avez https hôte, alors n'oubliez pas de faire
Require all granted
changements de configuration ssl trop.Aussi, il est parfois utile de vérifier les autorisations que l'utilisateur apache:
Pour Wamp 3 (Apache 2.4), en plus de mettre le serveur en ligne, comme décrit dans les autres réponses, dans le Virtuel fichier Hosts
conf/extra/httpd-vhosts.conf
vous pourriez avoir besoin pour remplacer
avec
Ceci est applicable si, dans
httpd.conf
vous avezS'assurer que tout utilisateur spécifique configs sont inclus!
Si aucune des autres réponses sur cette page pour vous le travail, voici ce que j'ai couru dans la après des heures de la patte autour de.
J'ai utilisé des configurations spécifiques à l'utilisateur, avec
Sites
spécifié comme monUserDir
dans/private/etc/apache2/extra/httpd-userdir.conf
. Cependant, j'ai été interdit d'accès à l'extrémitéhttp://localhost/~jwork/
.J'ai pu voir dans
/var/log/apache2/error_log
que l'accès à/Users/jwork/Sites/
a été bloqué. Cependant, j'ai été autorisé à accéder à la racine de votre serveur, viahttp://localhost/
. Cela suggère que je n'ai pas les droits pour afficher l'~jwork
de l'utilisateur. Mais autant que je pourrais dire parps aux | egrep '(apache|httpd)'
etlsof -i :80
, Apache a été en cours d'exécution pour lajwork
utilisateur, de sorte que quelque chose est clairement pas écrire avec ma configuration de l'utilisateur.Donné un utilisateur nommé
jwork
, voici mon fichier de config:/private/etc/apache2/users/jwork.conf
Cette config est parfaitement valide. Cependant, j'ai trouvé que ma configuration de l'utilisateur n'a pas été inclus:
/private/etc/apache2/extra/httpd-userdir.conf
Noter que c'est le chemin d'accès par défaut pour le répertoire utilisateur fichier conf, mais comme vous le verrez ci-dessous, il est configurable dans
httpd.conf
. S'assurer que les lignes suivantes sont activées:/private/etc/apache2/httpd.conf
Côté manquant
Order
etAllow
directives mentionnées dans d'autres réponses, sachez qu'une non-correspondance d'expression régulière d'unDirectoryMatch
directive peut également provoquer cette erreur.Si le chemin demandé est
/home/user-foo1bar/www/myproject/
la folloing matcher ne correspond pasainsi, même un accès valide configuration peut provoquer cette erreur.
Une obscure (juste après avoir traité avec lui), encore possible, à cause de ce qui est interne mod_rewrite règle, dans le fichier de configuration principal (pas d' .htaccess) qui écrit dans un chemin qui existe à la racine du système de fichiers du serveur. Disons que vous avez un
/media
répertoire de votre site, et vous réécrire quelque chose comme ceci:Si vous avez un
/media
répertoire à la racine de votre serveur, la réécriture sera tenté de qui (résultant dans l'erreur accès refusé) plutôt que celui de votre répertoire site, depuis le système de fichiers racine est d'abord vérifié par mod_rewrite, l'existence du premier répertoire dans le chemin, avant que votre site d'annuaire.Le problème peut être que la directive n'est pas sous < Directory>
https://httpd.apache.org/docs/2.4/mod/mod_authz_host.html#requiredirectives
La directive peut être référencés dans un < Directory>, < Files> ou < Location> section ainsi que .htaccess pour contrôler l'accès à certaines parties du serveur. L'accès peut être contrôlé basé sur le client nom d'hôte ou l'adresse IP.
J'ai eu un autre qui peut être utile à quelqu'un.
De recevoir le même message d'erreur après la mise à niveau à partir de PHP 5.6 => 7.0. Nous avons changé la PHP paramètres de téléchargement, et j'ai oublié de changer une fois copiées.
Même si je n'étais pas le téléchargement d'images à l'époque, Silverstripe (CMS) a refusé de l'enregistrer et de le jeter en erreur. Augmentation de l'image taille de téléchargement et cela a fonctionné tout de suite.
Lors de l'utilisation d'Ubuntu vérifier si le module CGI est activé. Si non:
Pour ceux qui ont adhéré à cette erreur que moi, et rien n'a aidé à partir de ci-dessus: vérifiez si le dossier de problème d'erreur.journal existe réellement sur votre serveur. Le mien a été généré automatiquement par Django au mauvais endroit (a été sali avec de la racine statique, puis
manage.py collectstatic
). N'ai aucune idée de pourquoi on peut pas les erreurs de nom correctement.Dans le cas où cette aide à quelqu'un Googler autour de lui comme je l'étais, j'ai eu ce message d'erreur en essayant d'accéder à un fichier SVG sur mon serveur, par exemple https://example.com/images/file.svg. Autres types de fichiers semblait fin, juste SVG ont été un échec.
J'ai chassé autour de
/etc/httpd
fichiers de conf et vérifié toutes lesrequire all denied
type de configuration, et ne pouvais pas trouver ce que la config est avoir cet effet.J'ai tourné LogLevel debug dans le VirtualHost config et pourrait voir le mod_authz_core journalisation spécifiant il y avait un "Besoin de toutes refusé" en effet:
Par test à l'aveugle, j'ai déplacé le fichier à la racine de la racine web, et trouvé que je pouvais accéder à https://example.com/file.svg .. donc il a échoué dans le dossier "images". Cela m'a amené à un .fichier htaccess dans le dossier d'images que je n'avais aucune idée de qui était là.
S'avère Zen Cart de 1,5 livré avec une images/.fichier htaccess qui a:
C'était très ennuyeux et j'espère que cela peut rappeler les autres à vérifier .htaccess à chaque niveau du système de fichiers de pointe vers le fichier que vous avez de la difficulté à accéder dans le cas où il existe ce genre de tom bêtises passe.