Apache2 Reverse Proxy an einen Endpunkt, der BasicAuth erfordert, aber diesen vor dem Benutzer verbergen möchte
Im Grunde ist mein Szenario ist, dass ich eine interne website, die erfordert, dass ein EINZELNER hard-coded-username und Passwort für den Zugriff (und das kann nicht ausgeschaltet werden, nur verändert). Ich bin Verfügbarmachen dieser website über einen reverse-proxy aus verschiedenen Gründen (ausblenden der Hafen, eine Vereinfachung der url, die Vereinfachung NAT, etc).
Aber, was ich tun möchte, ist in der Lage sein, um den Apache zu handhaben, die Authentifizierung so, dass:
-
- Ich nicht geben Passwort zu jeder
- ich kann mehrere Benutzernamen und Kennwörter mithilfe von Apache BasicAuth
- Für interne Benutzer, habe ich nicht die Eingabeaufforderung für ein Kennwort
EDIT: den Zweiten Teil über reicher Authentifizierung wurde verschoben, um die neue Frage
Hier ist mehr oder weniger das, was ich jetzt habe:
<VirtualHost *:80>
ServerName sub.domain.com
ProxyPass /http://192.168.1.253:8080/endpoint
ProxyPassReverse /http://192.168.1.253:8080/endpoint
# The endpoint has a mandatory password that I want to avoid requiring users to type
# I.e. something like this would be nice (but does not work)
# ProxyPass /http://username:[email protected]:8080/endpoint
# ProxyPassReverse /http://username:[email protected]:8080/endpoint
# Also need to be able to require a password to access proxy for people outside local subnet
# However these passwords will be controlled by Apache using BasicAuth, not the ProxyPass endpoint
# Ideas?
</VirtualHost>
InformationsquelleAutor der Frage Bo Jeanes | 2009-02-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hinzufügen oder überschreiben der Authorization-header vor der Weiterleitung Anfrage an den Endpunkt. Der authorization-header kann fest codiert werden, es ist nur eine base-64-Codierung der string "username:Passwort" (ohne die Anführungszeichen ein.)
Aktivieren Sie mod_headers. Modul, falls noch nicht geschehen.
Durchführen dies bedingt, aktivieren Sie die mod_setenvif, z.B. immer noch die Frage nach dem master-Passwort bei lokalen Anfragen:
BEISPIEL
InformationsquelleAutor der Antwort vladr
Nun, ich verwendet, Ihrem Beispiel zu Punkt zwei IP-Kameras unter Verwendung von apache proxypass. Wenn ich die syntax user:[email protected] und der Zugriff über ein iphone habe ich eine security-Meldung von safari (iphone-navigator), also änderte ich das Beispiel funktioniert gut mit iPhone 4S und
und das iphone 4s gestoppt beschweren sich über die Sicherheit, da der Benutzer und das Passwort in den link.
InformationsquelleAutor der Antwort googol plex