Ich habe eine Entwicklungssite eingerichtet, für die ein Benutzername und ein Kennwort (grundlegende http-Authentifizierung) erforderlich sind, bevor der Benutzer die Site sehen kann. Ich möchte zuerst zu einem sicheren Protokoll umleiten, bevor der Benutzer das Kennwort im Klartext senden kann. Irgendwelche Gedanken dazu, wie man das mit Apache macht? Ich habe Zugriff auf die Dateien conf und .htaccess.
Das Endergebnis wäre:
http: // xxxx / - Wenn Benutzer hierher kommen, werden sie sofort zu https umgeleitet:
https - Wenn der Benutzer hier ankommt, wird er zur Eingabe seines Benutzernamens / Passworts aufgefordert.
Unabhängig davon, wie Sie den SSL-vhost konfiguriert haben, würde ich diese Konfiguration für den Nicht-SSL-vhost verwenden:
Fügen Sie auch Zeilen für Ihre Protokollierung hinzu, aber es wird nichts anderes benötigt. Alles wird permanent an die URL https: // umgeleitet, und der .htaccess oder andere Zugriffskontrollelemente der SSL-Site werden erst nach der Umleitung verarbeitet.
quelle
Die Webanwendung unseres Kunden wird in seinem Webbenutzerverzeichnis installiert. Die Autorisierung erfolgt vor den mod_rewrite-Regeln ( https://serverfault.com/a/443185/253111 ), und wir konnten die akzeptierte Antwort nicht erhalten, sodass mod_rewrite keine Option zu sein schien.
Schließlich benötigten wir ausdrücklich SSL und verwendeten das Stammverzeichnis der Webanwendung über HTTPS als 403- und 404-Fehlerdokumente. Wenn man also eine Seite über HTTP (die nicht autorisiert ist, daher die 403) oder eine nicht vorhandene Seite (404) besucht, wird man zu dh umgeleitet. https: //DOMAIN.TLD/~WEBUSER/admin .
Dies ist die .htaccess-Datei mit einigen zusätzlichen Informationen in den Kommentaren.
quelle
Sie können auch diesen Blogeintrag hier sehen, in dem erklärt wird, wie dies gemacht
SSLRequireSSL
wird. Eine benutzerdefinierteErrorDocument 403
Direktive, die auf ein Perl-Skript verweist, das zur richtigen HTTPS-URL umleitet.quelle
Von diesem Beitrag habe ich gelernt , über die Verwendung von
<If>
in.htaccess
für Apache 2.4+:Wenn Sie jedoch überhaupt eine http-Version der Site haben, können Sie nichts tun, um zu verhindern, dass ein falsch konfigurierter Client versehentlich das Klartextkennwort in seiner anfänglichen unverschlüsselten Anforderung sendet.
quelle
Wenn ich mich richtig erinnere, erfolgt die http-Basisauthentifizierung beim ersten Handshake, bevor die SSL-Sitzung eingerichtet wird. Selbst wenn Sie sich bei einem SSL-Server anmelden, erfolgt die grundlegende Authentifizierung im Klartext. Dies war eines der langjährigen Probleme bei der Basisauthentifizierung. Möglicherweise befasst sich eine der anderen http-Authentifizierungsmethoden damit. Es ist lange her, seit ich mir das angeschaut habe.
quelle