Basic Authentication stellt eine Passwortabfrage des Browsers vor einen Pfad, noch bevor Ihre Anwendung erreicht wird. Ideal für Staging-Websites, ein internes Werkzeug oder ein zweites Schloss vor einem Adminbereich.
Die Passwortdatei anlegen
sudo apt-get install -y apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd sara # -c creates; omit it to ADD
sudo chmod 640 /etc/nginx/.htpasswd
sudo chown root:www-data /etc/nginx/.htpasswd
-c überschreibt die Datei. Benutzen Sie es einmal und nie wieder auf derselben Datei, sonst haben Sie gerade jedes andere Konto darin gelöscht.
Nginx
location /staging/ {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
}
Apache und LiteSpeed
AuthType Basic
AuthName "Restricted"
AuthUserFile /etc/nginx/.htpasswd
Require valid-user
Was sie schützt
- Eine Staging-Website vor Suchmaschinen und zufälligen Besuchern.
- Einen Admin-Pfad vor automatischen Anmeldeversuchen, bevor die Ihre Anwendung erreichen.
- Alles, was Sie ohne eine Zeile Code still schließen wollen.
Was sie nicht schützt
- Sie ist nur so vertraulich wie Ihr TLS. Über http geht das Passwort bei jeder Anfrage nahezu im Klartext hinaus.
- Es gibt keine Sperre und kein Protokoll darüber, wer sich angemeldet hat - es ist ein gemeinsames Passwort, kein Konto.
- Sie zerlegt APIs und Webhooks, die keine Zugangsdaten mitschicken. Nehmen Sie diese Pfade ausdrücklich aus.
location /staging/api/webhook {
auth_basic off;
}
Für eine Staging-Website setzen Sie zusätzlich
add_header X-Robots-Tag "noindex, nofollow";. Basic Auth hält Crawler ohnehin fern; der Header hält sie aus dem Index, falls der Schutz je versehentlich entfernt wird.
