Ich habe gerade meinen Apache-Server auf Apache / 2.4.6 aktualisiert, der unter Ubuntu 13.04 läuft. Früher hatte ich eine vhost-Datei mit folgendem Inhalt:
<Directory "/home/john/development/foobar/web">
AllowOverride All
</Directory>
Aber als ich lief, bekam ich ein "Verboten. Sie haben keine Erlaubnis zuzugreifen /"
Nachdem ich ein bisschen gegoogelt hatte, stellte ich fest, dass ich die folgende Zeile "Alles Erlaubt" hinzufügen musste, damit meine Website wieder funktioniert:
<Directory "/home/john/development/foobar/web">
AllowOverride All
Require all granted
</Directory>
Ich möchte wissen, ob dies "sicher" ist und keine Sicherheitsprobleme mit sich bringt. Ich habe auf Apaches Seite gelesen, dass dies "die Funktionalität nachahmt, die zuvor durch die Direktiven" Allow from all "und" Deny from all "bereitgestellt wurde. Dieser Provider kann eines von zwei Argumenten annehmen, die" gewährt "oder" verweigert "werden Beispiele gewähren oder verweigern den Zugriff auf alle Anforderungen. "
Aber es wurde nicht gesagt, ob dies eine Sicherheitsfrage war oder warum wir es jetzt tun müssen, wenn Sie es in der Vergangenheit nicht mussten.
quelle
Antworten:
Die Konfiguration der Zugriffssteuerung wurde in 2.4 geändert, und alte Konfigurationen sind ohne einige Änderungen nicht kompatibel. Sehen Sie hier .
Wenn Ihre alte Konfiguration war
Allow from all
(keine IP-Adressen für den Zugriff auf den Dienst gesperrt), dannRequire all granted
ist die neue Funktion gleichberechtigt.quelle
Require all denied
.Allow from all
. Sie müssenRequire all granted
mit anderen bestehendenRequire
Regeln "verschmelzen" . In meinem Fall wurde ein existierendesRequire valid-user
ignoriert, als die Konfiguration blind konvertiert wurde, wie es überall empfohlen wird. Dies war das Schlimmste, was passieren konnte ...Ich weiß, dass es ein alter Beitrag ist, aber ich denke, dass ich mit einem Funktionsbeispiel, das ich immer verwende, mehr helfen kann!
In Apache 2.2 wäre wie folgt:
In Apache 2.4 wäre wie folgt:
Seien Sie vorsichtig, wenn Sie die htacess-Authentifizierung verwenden . Diese neue Syntax kann einige schlechte und unerwartete Dinge bewirken . In diesem Fall lesen Sie bitte: https://unix.stackexchange.com/questions/413309/apache-2-4-wants-me- Sie müssen sich für eine gültige IP-Adresse oder einen gültigen Benutzer entscheiden und es sollte Ihnen gut gehen!
quelle
require all granted
HTTP-Authentifizierung funktioniert, also danke für die Info.