Je viens de mettre à jour mon serveur Apache vers Apache / 2.4.6 qui fonctionne sous Ubuntu 13.04. J'avais un fichier vhost qui avait les éléments suivants:
<Directory "/home/john/development/foobar/web">
AllowOverride All
</Directory>
Mais quand j'ai couru que j'ai eu un "Interdit. Vous n'avez pas la permission d'accéder /"
Après avoir un peu googlé, j'ai découvert que pour que mon site fonctionne à nouveau, je devais ajouter la ligne suivante "Exiger tous les droits acquis" afin que mon vhost ressemble à ceci:
<Directory "/home/john/development/foobar/web">
AllowOverride All
Require all granted
</Directory>
Je veux savoir si cela est "sûr" et ne pose aucun problème de sécurité. J'ai lu sur la page d'Apache que cela "imite la fonctionnalité" qui était auparavant fournie par les directives "Autoriser de tout" et "Refuser de tout". Ce fournisseur peut prendre l'un des deux arguments "accordés" ou "refusés". Des exemples donneront ou refuseront l'accès à toutes les demandes. "
Mais il n'a pas précisé s'il s'agissait d'un problème de sécurité ou pourquoi nous devions le faire alors que par le passé, ce n'était pas nécessaire.
la source
Réponses:
La configuration du contrôle d'accès a changé dans la version 2.4 et les anciennes configurations ne sont pas compatibles sans certaines modifications. Voir ici .
Si votre ancienne configuration était
Allow from all
(aucune adresse IP bloquée pour accéder au service), alorsRequire all granted
le nouvel équivalent fonctionnel.la source
Require all denied
.Allow from all
. Vous devez "fusionner"Require all granted
avec d'autresRequire
règles existantes . Dans mon cas, un existant aRequire valid-user
été ignoré lors de la conversion à l'aveuglette de la configuration comme il est recommandé partout. C'était la pire chose qui puisse arriver ...Je sais que c'est un article ancien, mais je pense que je peux aider davantage avec un exemple fonctionnel que j'utilise toujours!
Dans Apache 2.2, ce serait comme:
Dans Apache 2.4, ce serait comme:
Soyez prudent lorsque vous utilisez l'authentification htacess , cette nouvelle syntaxe peut avoir des effets négatifs et inattendus . Si tel est votre cas, veuillez lire: https://unix.stackexchange.com/questions/413309/apache-2-4-wants-me- décider-exiger-valide-ip-ou-exiger-valide-utilisateur et tout ira bien!
la source
require all granted
l'authentification HTTP empêchée de fonctionner alors merci pour l'info.