15%

15% auf alle Hosting-Dienste sparen

Teste deine Fähigkeiten und erhalte Rabatt auf jeden Hosting-Plan

Benutze den Code:

Skills
Anfangen
09.10.2024

So richten Sie die Apache htpasswd-Authentifizierung unter Ubuntu ein

Die `htpasswd`-Authentifizierung von Apache bietet HTTP Basic Authentication — einen serverseitigen Zugriffskontrollmechanismus, der jede Browseranfrage mit einer Benutzername/Passwort-Eingabeaufforderung herausfordert, bevor Inhalte bereitgestellt werden. Sie erfordert keinen Code auf der Anwendungsebene, arbeitet vollständig innerhalb des Modulsystems von Apache und wird auf der Webserver-Ebene durchgesetzt, bevor jegliche PHP-, Python- oder Node.js-Backend-Logik ausgeführt wird.

Dies macht es zur schnellsten und zuverlässigsten Methode zum Schutz von Staging-Umgebungen, internen Admin-Panels, Entwicklungs-Builds und allen Verzeichnissen, die vor dem öffentlichen Internet verborgen bleiben müssen, ohne einen vollständigen Identity Provider einzusetzen.

Wann htpasswd das richtige Werkzeug ist — und wann nicht

Bevor Sie einen einzigen Befehl eingeben, sollten Sie das Bedrohungsmodell verstehen. HTTP Basic Authentication überträgt Anmeldedaten als Base64-kodierten String im `Authorization`-Header. Base64 ist keine Verschlüsselung — es ist trivial umkehrbar. Das bedeutet, dass die htpasswd-Authentifizierung nur dann sicher ist, wenn sie über HTTPS eingesetzt wird. Ohne TLS sind die Anmeldedaten im Klartext für jeden Netzwerkbeobachter sichtbar.

Geeignete Anwendungsfälle:

  • Staging- und Vorproduktionsumgebungen
  • Interne Entwickler-Tools und Dashboards
  • Vorübergehende Einschränkung einer Website während der Wartung
  • Hinzufügen einer sekundären Authentifizierungsebene vor einer Anwendung mit eigenem Login
  • Schutz von WordPress `wp-admin` oder `xmlrpc.php` auf Server-Ebene

Ungeeignete Anwendungsfälle:

  • Primäre Authentifizierung für öffentlich zugängliche Anwendungen, die sensible Benutzerdaten verarbeiten
  • Umgebungen, in denen die Rotation von Anmeldedaten geprüft und protokolliert werden muss
  • Mandantenfähige Systeme, die rollenbasierte Zugriffskontrolle erfordern

Wenn Ihr Anwendungsfall Produktionsbenutzerkonten umfasst, sollten Sie stattdessen OAuth2, LDAP oder anwendungsseitiges Session-Management in Betracht ziehen.

Voraussetzungen

  • Ein Ubuntu 20.04-, 22.04- oder 24.04-Server mit Root- oder `sudo`-Zugriff
  • Apache 2.4 installiert oder über `apt` installierbar
  • Eine registrierte Domain mit DNS, das auf Ihren Server zeigt (für SSL dringend empfohlen)
  • Grundlegende Kenntnisse der Linux-Befehlszeile und Texteditoren

Wenn Sie von Grund auf neu beginnen, bietet eine VPS Hosting-Umgebung vollen Root-Zugriff und ein sauberes Ubuntu-Image — die ideale Ausgangsbasis für diese Konfiguration.

Schritt 1: Apache2 installieren

Wenn Apache noch nicht installiert ist, aktualisieren Sie den Paketindex und installieren Sie es:

“`bash

sudo apt update && sudo apt install apache2 -y

“`

Überprüfen Sie die Installation und bestätigen Sie, dass der Dienst läuft:

“`bash

sudo systemctl status apache2

apache2 -v

“`

Aktivieren Sie Apache, damit es beim Neustart automatisch startet:

“`bash

sudo systemctl enable apache2

“`

Das Standard-Dokumentenverzeichnis von Apache ist `/var/www/html`. Die primäre Site-Konfiguration befindet sich unter `/etc/apache2/sites-available/000-default.conf`.

Schritt 2: Das apache2-utils-Paket installieren

Die `htpasswd`-Binärdatei ist Teil des `apache2-utils`-Pakets. Bei den meisten Ubuntu-Installationen wird dieses Paket zusammen mit Apache installiert, aber bestätigen Sie seine Anwesenheit explizit:

“`bash

which htpasswd

“`

Wenn der Befehl nichts zurückgibt, installieren Sie das Paket:

“`bash

sudo apt install apache2-utils -y

“`

Das `apache2-utils`-Paket stellt auch `htdigest` (für Digest Authentication), `ab` (Apache Bench für Lasttests) und `htdbm` (für Passwortdateien im DBM-Format) bereit. Für die meisten Szenarien ist `htpasswd` mit dem Standard-bcrypt- oder MD5-Hashing ausreichend.

Schritt 3: Die .htpasswd-Datei erstellen und Benutzer hinzufügen

Auswahl eines Passwort-Hashing-Algorithmus

Dies ist ein Detail, das die ursprüngliche Dokumentation fast universell auslässt. Das `htpasswd`-Dienstprogramm unterstützt mehrere Hashing-Verfahren, und die Wahl hat echte Sicherheitsauswirkungen:

AlgorithmusFlagSicherheitsstufeHinweise
———–—————————-
bcrypt`-B`StarkEmpfohlen; rechenintensiv by Design
SHA-256/512 (apr1-md5)`-m`ModeratStandard auf den meisten Linux-Systemen; akzeptabel
MD5 (Legacy)`-m` bei einigen BuildsSchwachNicht für neue Deployments verwenden
Klartext`-p`KeineNiemals in der Produktion verwenden
SHA-1`-s`SchwachVeraltet; anfällig für Brute-Force

Verwenden Sie immer bcrypt für neue `.htpasswd`-Dateien:

“`bash

sudo htpasswd -cB /etc/apache2/.htpasswd your_username

“`

Erläuterung der Flags:

  • `-c` — Erstellt eine neue Datei. Kritische Warnung: Wenn die Datei bereits existiert, überschreibt `-c` sie stillschweigend und löscht alle vorhandenen Benutzer. Verwenden Sie `-c` nur einmal, beim erstmaligen Erstellen der Datei.
  • `-B` — Erzwingt bcrypt-Hashing
  • `/etc/apache2/.htpasswd` — Der Zieldateipfad, absichtlich außerhalb des Web-Roots
  • `your_username` — Ersetzen Sie dies durch den tatsächlichen Benutzernamen

Sie werden aufgefordert, das Passwort einzugeben und zu bestätigen. Der resultierende Dateieintrag sieht wie folgt aus:

“`

your_username:$2y$05$randomsaltandhashedpasswordstring

“`

Weitere Benutzer hinzufügen

Um weitere Benutzer zu einer bestehenden Datei hinzuzufügen, lassen Sie das `-c`-Flag weg:

“`bash

sudo htpasswd -B /etc/apache2/.htpasswd second_user

sudo htpasswd -B /etc/apache2/.htpasswd third_user

“`

Einen Benutzer entfernen

“`bash

sudo htpasswd -D /etc/apache2/.htpasswd username_to_remove

“`

Den Dateiinhalt überprüfen

“`bash

sudo cat /etc/apache2/.htpasswd

“`

Jede Zeile repräsentiert einen Benutzer im Format `username:hashed_password`.

Schritt 4: Apache für den Passwortschutz konfigurieren

Es gibt zwei Methoden zur Anwendung der htpasswd-Authentifizierung: über `.htaccess`-Dateien oder direkt in der Virtual-Host-Konfiguration. Jede hat unterschiedliche Auswirkungen auf Leistung und Wartung.

Methodenvergleich

Faktor.htaccess-MethodeVirtual-Host-Konfigurationsmethode
——–—————–—————————
Apache-Neustart erforderlichNeinJa
LeistungsauswirkungHöher (Apache liest bei jeder Anfrage)Niedriger (einmalig beim Start geladen)
GranularitätPro Verzeichnis, delegiertZentralisiert in der Konfigurationsdatei
Empfohlen fürShared Hosting, dynamische Pro-Verzeichnis-KonfigurationDedizierte/VPS-Server mit Root-Zugriff
SicherheitslageEtwas schwächer (Datei muss vom Web-Prozess lesbar sein)Stärker (Konfiguration nicht über Web zugänglich)

Auf einem Dedicated Server oder VPS, auf dem Sie vollen Root-Zugriff haben, ist die Virtual-Host-Konfigurationsmethode aus Gründen der Leistung und Wartbarkeit immer vorzuziehen.

Option 1: Verwendung von .htaccess-Dateien

Diese Methode erfordert, dass `AllowOverride` für das Zielverzeichnis aktiviert ist. Bearbeiten Sie zunächst die Site-Konfiguration:

“`bash

sudo nano /etc/apache2/sites-available/000-default.conf

“`

Suchen oder fügen Sie den `<Directory>`-Block für Ihr Web-Root hinzu und setzen Sie `AllowOverride All`:

“`apache

<VirtualHost *:80>

ServerAdmin webmaster@localhost

DocumentRoot /var/www/html

<Directory /var/www/html>

AllowOverride All

Options -Indexes +FollowSymLinks

Require all granted

</Directory>

</VirtualHost>

“`

Starten Sie Apache neu, um die Konfigurationsänderung anzuwenden:

“`bash

sudo systemctl restart apache2

“`

Erstellen Sie nun die `.htaccess`-Datei im Verzeichnis, das Sie schützen möchten:

“`bash

sudo nano /var/www/html/.htaccess

“`

Fügen Sie die folgenden Authentifizierungsdirektiven hinzu:

“`apache

AuthType Basic

AuthName "Restricted Access — Authorized Personnel Only"

AuthUserFile /etc/apache2/.htpasswd

Require valid-user

“`

Erläuterung der Direktiven:

  • `AuthType Basic` — Aktiviert HTTP Basic Authentication. Die Alternative ist `Digest`, die das Senden von Anmeldedaten in Base64 vermeidet, aber breitere Kompatibilitätsprobleme hat.
  • `AuthName` — Der Realm-String, der im Login-Dialog des Browsers angezeigt wird. Machen Sie ihn aussagekräftig genug, damit legitime Benutzer verstehen, worauf sie zugreifen.
  • `AuthUserFile` — Absoluter Pfad zur `.htpasswd`-Datei. Muss vom Apache-Prozessbenutzer (`www-data`) lesbar sein.
  • `Require valid-user` — Gewährt Zugriff für jeden Benutzer, der in der `.htpasswd`-Datei vorhanden ist. Sie können den Zugriff mit `Require user alice bob` weiter einschränken, um nur bestimmte Konten zuzulassen.

Speichern und schließen Sie die Datei. Ein Apache-Neustart ist nicht erforderlich — `.htaccess`-Änderungen treten sofort in Kraft.

Option 2: Direkte Virtual-Host-Konfiguration (Empfohlen)

Dies ist der produktionsreife Ansatz. Bearbeiten Sie die Virtual-Host-Konfigurationsdatei direkt:

“`bash

sudo nano /etc/apache2/sites-available/000-default.conf

“`

Fügen Sie einen `<Directory>`-Block mit Authentifizierungsdirektiven innerhalb des `<VirtualHost>`-Blocks hinzu:

“`apache

<VirtualHost *:80>

ServerAdmin webmaster@localhost

DocumentRoot /var/www/html

ServerName yourdomain.com

<Directory "/var/www/html/protected">

AuthType Basic

AuthName "Internal Tools"

AuthUserFile /etc/apache2/.htpasswd

Require valid-user

Options -Indexes

</Directory>

</VirtualHost>

“`

Beachten Sie die Verwendung von `/var/www/html/protected` anstelle des gesamten Web-Roots. Die Beschränkung der Authentifizierung auf ein Unterverzeichnis ist in der Praxis weitaus üblicher — Sie schützen `/admin`, `/staging` oder `/api-docs`, während die öffentliche Website zugänglich bleibt.

Überprüfen Sie die Konfigurationssyntax vor dem Neustart:

“`bash

sudo apachectl configtest

“`

Sie sollten `Syntax OK` sehen. Wenn Fehler vorhanden sind, beschreibt Apache diese präzise. Starten Sie Apache in der Produktion niemals neu, ohne diese Prüfung bestanden zu haben.

Apache neu starten:

“`bash

sudo systemctl restart apache2

“`

Bestimmte Dateitypen statt Verzeichnisse schützen

Ein weniger bekanntes, aber sehr praktisches Muster ist die Verwendung von `<FilesMatch>`, um den Zugriff auf bestimmte Dateiendungen statt auf ganze Verzeichnisse zu beschränken:

“`apache

<FilesMatch ".(env|log|sql|bak)$">

AuthType Basic

AuthName "Restricted Files"

AuthUserFile /etc/apache2/.htpasswd

Require valid-user

</FilesMatch>

“`

Dies ist besonders nützlich, um den direkten Zugriff auf `.env`-Dateien, Datenbank-Dumps oder Log-Dateien zu blockieren, die aus Legacy-Gründen im Web-Root vorhanden sein könnten.

Schritt 5: SSL aktivieren, bevor Sie live gehen

Wie bereits festgestellt, ist HTTP Basic Authentication über einfaches HTTP unsicher. Bevor Sie eine htpasswd-geschützte Ressource dem Internet zugänglich machen, erzwingen Sie HTTPS.

Installieren Sie Certbot für Let’s Encrypt-Zertifikate:

“`bash

sudo apt install certbot python3-certbot-apache -y

sudo certbot –apache -d yourdomain.com

“`

Certbot modifiziert automatisch Ihre Apache-Konfiguration, um HTTP auf HTTPS umzuleiten und das Zertifikat zu installieren. Alternativ können Sie ein kommerzielles Zertifikat über SSL Certificates für Domains bereitstellen, die eine erweiterte Validierung oder Wildcard-Abdeckung benötigen.

Fügen Sie nach der Aktivierung von SSL eine HTTPS-Weiterleitung zu Ihrem HTTP-Virtual-Host hinzu:

“`apache

<VirtualHost *:80>

ServerName yourdomain.com

Redirect permanent / https://yourdomain.com/

</VirtualHost>

“`

Schritt 6: .htpasswd-Dateiberechtigungen absichern

Die `.htpasswd`-Datei enthält gehashte Anmeldedaten. Obwohl bcrypt-Hashes rechenintensiv zu knacken sind, muss die Datei auf Dateisystemebene geschützt werden.

Setzen Sie den Eigentümer auf den Apache-Prozessbenutzer und schränken Sie die Leseberechtigungen ein:

“`bash

sudo chown root:www-data /etc/apache2/.htpasswd

sudo chmod 640 /etc/apache2/.htpasswd

“`

Diese Konfiguration bedeutet:

  • `root` besitzt die Datei und kann sie lesen/schreiben
  • `www-data` (der Apache-Prozess) kann sie lesen
  • Alle anderen Benutzer haben keinen Zugriff

Überprüfen Sie die Berechtigungen:

“`bash

ls -la /etc/apache2/.htpasswd

“`

Erwartete Ausgabe:

“`

-rw-r—– 1 root www-data 89 Jan 15 10:23 /etc/apache2/.htpasswd

“`

Direkten Web-Zugriff auf .htpasswd blockieren

Falls die `.htpasswd`-Datei aus irgendeinem Grund im Web-Root liegt, fügen Sie eine explizite Ablehnungsregel zu Ihrer Apache-Konfiguration oder `.htaccess` hinzu:

“`apache

<Files ".htpasswd">

Require all denied

</Files>

“`

Dies ist eine Defense-in-Depth-Maßnahme. Die Datei sollte sich niemals im Web-Root befinden, aber diese Regel stellt sicher, dass Apache auch dann eine 403 Forbidden-Antwort zurückgibt, anstatt die Datei auszuliefern.

Schritt 7: Die Authentifizierung testen

Öffnen Sie einen Browser und navigieren Sie zur geschützten URL:

“`

http://your_server_ip_or_domain/protected/

“`

Sie sollten einen nativen Browser-Authentifizierungsdialog sehen. Geben Sie die Anmeldedaten ein, die Sie mit `htpasswd` erstellt haben. Eine erfolgreiche Authentifizierung gewährt Zugriff; falsche Anmeldedaten geben eine HTTP 401 Unauthorized-Antwort zurück.

Testen über die Befehlszeile

Verwenden Sie `curl`, um das Authentifizierungsverhalten ohne Browser zu überprüfen:

“`bash

Test with correct credentials — should return 200 OK

curl -u your_username:your_password -I http://yourdomain.com/protected/

Test without credentials — should return 401 Unauthorized

curl -I http://yourdomain.com/protected/

Test with wrong credentials — should return 401 Unauthorized

curl -u your_username:wrongpassword -I http://yourdomain.com/protected/

“`

Dies ist besonders nützlich in CI/CD-Pipelines oder automatisierten Überwachungsskripten, bei denen Sie nach Deployments überprüfen müssen, ob die Authentifizierung korrekt durchgesetzt wird.

Erweiterte Konfigurationsmuster

htpasswd mit IP-basierter Zugriffskontrolle kombinieren

Sie können Passwortauthentifizierung mit IP-Whitelisting über `RequireAll`- oder `RequireAny`-Blöcke kombinieren:

“`apache

<Directory "/var/www/html/admin">

AuthType Basic

AuthName "Admin Panel"

AuthUserFile /etc/apache2/.htpasswd

Allow access if EITHER condition is met

<RequireAny>

Require ip 192.168.1.0/24

Require valid-user

</RequireAny>

</Directory>

“`

Oder beide Bedingungen gleichzeitig erfordern (IP muss übereinstimmen UND Anmeldedaten müssen gültig sein):

“`apache

<RequireAll>

Require ip 203.0.113.0/24

Require valid-user

</RequireAll>

“`

Dieses Muster ist äußerst effektiv für Admin-Panels: Benutzer im internen Netzwerk erhalten passwortgeschützten Zugriff, während externe IPs unabhängig von den Anmeldedaten vollständig blockiert werden.

Authentifizierungsversuche begrenzen

HTTP Basic Authentication hat keinen eingebauten Brute-Force-Schutz. Mildern Sie dies mit `mod_evasive` oder `fail2ban`:

“`bash

sudo apt install fail2ban -y

“`

Erstellen Sie einen benutzerdefinierten Fail2ban-Filter für Apache-Authentifizierungsfehler unter `/etc/fail2ban/filter.d/apache-auth.conf`:

“`ini

[Definition]

failregex = ^<HOST> -.*"(GET|POST|HEAD).*" 401

ignoreregex =

“`

Fügen Sie eine Jail-Konfiguration unter `/etc/fail2ban/jail.local` hinzu:

“`ini

[apache-auth]

enabled = true

port = http,https

filter = apache-auth

logpath = /var/log/apache2/access.log

maxretry = 5

bantime = 3600

findtime = 600

“`

Fail2ban neu starten:

“`bash

sudo systemctl restart fail2ban

“`

Dies sperrt jede IP, die innerhalb von zehn Minuten fünf 401-Antworten erzeugt, für eine Stunde — ein erhebliches Abschreckungsmittel gegen automatisiertes Credential Stuffing.

Location-Blöcke für URL-basierten Schutz verwenden

Für Anwendungen, bei denen der geschützte Inhalt von einem bestimmten URL-Pfad statt einem Dateisystemverzeichnis bereitgestellt wird, verwenden Sie `<Location>` anstelle von `<Directory>`:

“`apache

<Location "/api/internal">

AuthType Basic

AuthName "Internal API"

AuthUserFile /etc/apache2/.htpasswd

Require user api_user service_account

</Location>

“`

Beachten Sie die Verwendung von `Require user` mit bestimmten Benutzernamen anstelle von `Require valid-user` — dies beschränkt den Endpunkt auf nur diese beiden Konten, auch wenn die `.htpasswd`-Datei weitere Benutzer enthält.

Praktische Entscheidungsmatrix

Verwenden Sie diese Matrix, um den richtigen Konfigurationsansatz für Ihr Szenario zu bestimmen:

SzenarioEmpfohlener Ansatz
———-———————
Schutz eines Staging-Unterverzeichnisses auf einem VPSVirtual-Host-`<Directory>`-Block mit bcrypt
Shared Hosting ohne Apache-Konfigurationszugriff`.htaccess`-Methode
Admin-Panel nur vom Büro-IP zugänglich`RequireAll` mit IP + valid-user kombinieren
`.env`- und `.sql`-Dateien im Web-Root blockieren`<FilesMatch>` mit `Require all denied`
Hochfrequentierte Website mit Auth auf einem Pfad`<Location>`-Block in der Virtual-Host-Konfiguration
Jede öffentlich zugängliche geschützte RessourceObligatorisches SSL + htpasswd + Fail2ban

Wichtige technische Erkenntnisse

  • Verwenden Sie immer bcrypt (`-B`-Flag) beim Erstellen von `.htpasswd`-Dateien. Legacy-MD5- und SHA-1-Hashes sind mit moderner GPU-Hardware in Sekunden knackbar.
  • Setzen Sie htpasswd niemals über HTTP ein in einer Umgebung, die vom Internet aus zugänglich ist. Die Base64-Kodierung von Basic-Auth-Anmeldedaten bietet keinerlei Vertraulichkeit.
  • Bevorzugen Sie die Virtual-Host-Konfiguration gegenüber `.htaccess` auf jedem Server, auf dem Sie Root-Zugriff haben. Der Leistungsunterschied ist unter Last messbar, da Apache `.htaccess`-Dateien bei jeder einzelnen Anfrage neu liest.
  • Beschränken Sie den Schutz auf das minimal notwendige Verzeichnis oder den URL-Pfad. Das vollständige Schützen von `/var/www/html`, wenn nur `/var/www/html/admin` geschützt werden muss, erzeugt unnötige Reibung.
  • Setzen Sie `.htpasswd`-Berechtigungen auf `640` mit `root:www-data`-Eigentümerschaft. Die Datei sollte niemals für alle lesbar sein.
  • Implementieren Sie Fail2ban, um Brute-Force-Angriffe zu verhindern. HTTP Basic Auth hat keinen nativen Ratenbegrenzungs- oder Kontosperrungsmechanismus.
  • Validieren Sie die Apache-Konfiguration mit `apachectl configtest` vor jedem Neustart in Produktionsumgebungen.
  • Kombinieren Sie htpasswd mit Ihrer Domain-Infrastruktur. Eine ordnungsgemäß konfigurierte Domain mit DNS und SSL ist die Grundlage — verwalten Sie Ihre über Domain Registration, um alle Infrastrukturkomponenten bei einem Anbieter zu bündeln.

Für Teams, die mehrere geschützte Umgebungen verwalten, bietet ein VPS mit cPanel eine grafische Oberfläche zur Verwaltung passwortgeschützter Verzeichnisse ohne direkten Befehlszeilenzugriff, was Konfigurationsfehler in weniger technischen Teams reduzieren kann.

FAQ

Funktioniert die htpasswd-Authentifizierung mit allen Browsern?

Ja. HTTP Basic Authentication ist in RFC 7617 definiert und wird von jedem modernen Browser unterstützt, einschließlich Chrome, Firefox, Safari und Edge. Mobile Browser unterstützen sie ebenfalls. Das Erscheinungsbild des nativen Browser-Dialogs variiert je nach Browser und Betriebssystem, aber das zugrunde liegende Protokollverhalten ist identisch.

Was passiert, wenn der .htpasswd-Dateipfad in der Apache-Konfiguration falsch ist?

Apache gibt einen 500 Internal Server Error für jede Anfrage an die geschützte Ressource zurück und protokolliert einen Fehler ähnlich wie `Could not open password file: /path/to/.htpasswd` in `/var/log/apache2/error.log`. Überprüfen Sie immer, ob der absolute Pfad korrekt ist und ob der `www-data`-Benutzer Leseberechtigung für die Datei hat.

Kann ich htpasswd verwenden, um den Admin-Bereich einer WordPress-Website zu schützen?

Ja, und es ist eine empfohlene Härtungspraxis. Das Hinzufügen von htpasswd-Schutz für `/wp-admin/` und die Einschränkung des Zugriffs auf `xmlrpc.php` fügt eine Authentifizierungsebene auf Server-Ebene hinzu, bevor die eigene Login-Logik von WordPress ausgeführt wird, und blockiert automatisierte Bots und Brute-Force-Skripte, die PHP nie erreichen. Konfigurieren Sie es als `<Directory>`-Block in Ihrem Virtual Host anstelle von `.htaccess` für bessere Leistung.

Wie aktualisiere ich das Passwort eines Benutzers in einer bestehenden .htpasswd-Datei?

Führen Sie `htpasswd` ohne das `-c`-Flag aus und geben Sie den vorhandenen Benutzernamen an: `sudo htpasswd -B /etc/apache2/.htpasswd existing_user`. Sie werden nach dem neuen Passwort gefragt. Der Befehl überschreibt nur den Eintrag dieses Benutzers und lässt alle anderen Benutzer unberührt.

Gibt es eine Begrenzung für die Anzahl der Benutzer, die in einer .htpasswd-Datei gespeichert werden können?

Es gibt kein von Apache auferlegtes hartes Limit. Da Apache jedoch bei jeder Authentifizierungsanfrage einen linearen Scan der Datei durchführt, verschlechtert sich die Leistung bei sehr großen Dateien merklich — typischerweise ab mehreren hundert Benutzern. Für Umgebungen, die Authentifizierung für Dutzende oder Hunderte von Benutzern erfordern, sollten Sie `mod_authn_dbd` mit einem Datenbank-Backend oder LDAP-Authentifizierung über `mod_authnz_ldap` in Betracht ziehen, die für diese Größenordnung ausgelegt sind.

15%

15% auf alle Hosting-Dienste sparen

Teste deine Fähigkeiten und erhalte Rabatt auf jeden Hosting-Plan

Benutze den Code:

Skills
Anfangen