Hallo!
Klaus Tachtler klaus@tachtler.net schrieb am 22.04.19 um 06:53:57 Uhr:
Hallo Andreas,
um Dir besser helfen zu können, wären natürlich Deine Konfigurationsdateien sehr hilfreich, jedoch wenn Du das nicht möchtest, erst einmal folgendes, was Du überprüfen solltest:
----- %< -----
AllowOverride-Direktive: (https://httpd.apache.org/docs/2.4/de/mod/core.html#allowoverride) =======================
Wenn der Server eine .htaccess-Datei (wie durch AccessFileName definiert) findet, muss er wissen, welche in der Datei angegebenen Direktiven frühere Konfigurationsanweisungen überschreiben dürfen. Nur in <Directory>-Abschnitten verfügbar
AllowOverride ist nur in <Directory>-Abschnitten gültig, die ohne reguläre Ausdrücke definiert wurden, nicht in <Location>-, <DirectoryMatch>- oder <Files>-Abschnitten.
---> WICHTIG !!!
Wenn diese Anweisung auf None gesetzt wird, dann werden .htaccess-Dateien komplett ignoriert. In diesem Fall wird der Server nicht einmal versuchen, die .htaccess-Dateien im Dateisystem zu lesen.
Wenn diese Anweisung auf All gesetzt wird, dann ist jede Direktive in den .htaccess-Dateien erlaubt, die den Kontext .htaccess besitzt.
WICHTIG !!! <---
Der Direktiven-Typ kann z.B. eine der folgenden Anweisungsgruppen sein:
AuthConfig Erlaubt die Verwendung von Autorisierungs-Anweisungen (AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require usw.). usw. ...
----- %< -----
Eine Möglichkeit wäre den Inhalt der .htaccess einfach z.B. in den die /etc/httpd/conf/httpd.conf, direkt in die <Directory>...</Directory> Konfiguration zu packen:
z.B.
<Directory "/var/www/root"> Options -Indexes +FollowSymLinks AllowOverride AuthConfig AuthType Basic AuthName "Passwort bitte!" AuthBasicProvider file AuthUserFile /etc/httpd/user/memd5.pwd" Require user me
</Location>
Das setzt natürlich auch eine entsprechend gültige PAsswortdatie: /etc/httpd/user/memd5.pwd voraus!
(Siehe auch: https://httpd.apache.org/docs/2.4/programs/htpasswd.html)
Require user me AuthType Basic AuthName "Passwort bitte!" AuthUserFile /etc/httpd/user/memd5.pwd
greift aber nicht.
Ich konnte das Problem lösen.
Gesetzt hatte ich am Anfang der .htaccess
Require user me AuthType Basic AuthName "Passwort bitte!" AuthUserFile /etc/httpd/user/memd5.pwd
dann folgen ein paar
SetEnvIfNoCase User-Agent "AESOP_com_SpiderMan" bad_bot SetEnvIfNoCase User-Agent "Alexibot" bad_bot SetEnvIfNoCase User-Agent "Anonymouse.org" bad_bot .....
und dann kommt am Ende
<Limit GET POST HEAD> <RequireAll> Require all granted Require not env bad_bot </RequireAll> </Limit>
Dieses Require all granted am Ende überschreibt das Require user me am Anfang. Kommentiere ich das am Ende aus und habe dann nur noch Require not env bad_bot, greift die Authentifizierung am Anfang der .htaccess
Danke für eure Unterstützung!
Grüße
Andreas