Seite 1 von 1

ALIAS & SSL außerhalb des Root?

Verfasst: Mi 27.Aug, 2008 19:39
von Dungeonwatcher
'n Abend! :cool:

Es ist beim Apache ja per alias möglich Verzeichnisse außerhalb des Root zu nutzen, z.B:

Code: Alles auswählen

Alias /Test/ "X:/WEBSERVER/Beispiel/"
<Directory "X:/WEBSERVER/Beispiel">
	AllowOverride AuthConfig
	Order allow,deny
	Allow from all
</Directory>
Wie bekomme ich es aber hin, das auch für dieses Verzeichnis beim Aufrufen die ansonst überall erzwungene SSL Verbindung genutzt wird. Aktuell sieht es in meiner .htacces so aus:

Code: Alles auswählen

# umleiten von http auf https
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Eine .htaccess Datei im Verzeichnis außerhalb des Root wird jedenfalls ignoriert und mit einem 403 Fehler bestraft?

Bye

Verfasst: Mi 27.Aug, 2008 20:02
von oxpus
Füg doch die Rewrite Rules einfach mit in die directory-Anweisung ein und passe lediglich den Pfad an.
Du kannst dort schliesslich auch mit Rewrite Rules arbeiten.
Die Config-Files und die .htaccess sind hier absolut gleichwertig im Apache, sofern .htaccess-Files nicht anderweitig eingeschränkt werden...

Verfasst: Mi 27.Aug, 2008 21:12
von Dungeonwatcher
Hi! :cool:

[quote="oxpus";p="87503"]Füg doch die Rewrite Rules einfach mit in die directory-Anweisung ein und passe lediglich den Pfad an.[/quote]

Hmmm, hast du dafür mal ein Beispiel parat?
Du kannst dort schliesslich auch mit Rewrite Rules arbeiten.
Das ist mir ehrlich gesagt neu. ^6

Verfasst: Mi 27.Aug, 2008 22:02
von oxpus
Das ist mir ehrlich gesagt neu.
:D

Man muss es auch korrekt kennen: Die Config-Dateien des Apache (also in der Regel die httpd.conf) stellen ihn ein und dazu gehören auch neben unzähligen Parametern eben auch RewriteRules, das Modul mod_rewrite mit eingebunden mal vorausgesetzt...

In der so aufgebauten Konfiguration werden dann eben auch die Verarbeitungen von .htaccess und .htpasswd Dateien erlaubt oder verboten, die Userbezogen (also die User und/oder Prozesse/Programme auf dem Server!) den Webserver zusätzlich konfigurieren können, eben auch neben zahlreichen Möglichkeiten auch per Rewrite Rules.

Die .htaccess ist daher nur eine Ergänzung zur eigentlichen Konfiguration des Indianers und kann in den meisten Fällen weniger, die Konfig der Webservers aber mindestens das, was in den .htaccess-Dateien definiert ist, beinhalten, damit der Apache das verarbeitet ;)

Nun aber zu Deiner Frage:
Mit <Directory ...> und auch <Files ...> sowie anderen Bezeichnern für bestimmte Objekte, auf die ein Webserver zugreifen kann, stellt man "nur" eine Bedingung, bzw, einen "Filter" dar, auf welche "Objekte" alle so eingeklammerten Anweisungen gelten sollen.
In Deinem Fall gelten alle Anweisungen als Alias für ein Directory, allerdings wird damit (mal unter uns gesprochen) der Alias eher auf dem falschen Wege erstellt, denn alias ist dem Apache als Befehl ebenfalls bekannt.

Nun kann man also auch innerhalb dieser "Objekt-Filter" alles an Befehlen angeben, die der Webserver für die Konfig-Datei (in dem Falle eine .htaccess oder die zentrale httpd.conf) verarbeiten kann, mit installiertem mod_rewrite also auch RewriteRules.

Einschalten allerdings nie vergessen, also "RewriteEngine On", sonst ignoriert der Apache die Befehle einfach ;)

Verfasst: Do 28.Aug, 2008 09:18
von Dungeonwatcher
Moin! :cool:

Du meinst z.B. so:

Code: Alles auswählen

Alias /Test/ "X:/WEBSERVER/Beispiel/"
<Directory "X:/WEBSERVER/Beispiel">
   AllowOverride AuthConfig
   # umleiten von http auf https
   RewriteEngine on
   RewriteCond %{HTTPS} off
   RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
   Order allow,deny
   Allow from all
</Directory>
Das funktioniert insofern, als das jetzt der Browser zwar eine SSL Verbindung herstellt, aber gleichzeitig eine Warnung ausgibt:
Warnung: Enthält nicht authentifizierte Inhalte
Und wenn ich mir dann die Seiteninformation anschaue, dann steht auch dort:
Verbindung teilweise verschlüsselt
Das ist ohne Alias nicht der Fall? Kann dies daran liegen, das einige Links auf externe Server verweisen? Allerdings wird von diesen nichts geladen, es sind nur Verweise?

Verfasst: Do 28.Aug, 2008 11:03
von Dungeonwatcher
Hi! :cool:

Es gibt tatsächlich noch einen einfacheren Weg außer Rewrite. Bei mir betrifft es PHPMyAdmin was ich aus den Root verschoben habe und dort musste einfach nur folgendes in die config.inc.php neu eingetragen werden:

Code: Alles auswählen

$cfg['ForceSSL'] = true;
und schon war mein Problem gelöst.

Bye

Verfasst: Do 28.Aug, 2008 11:05
von oxpus
Du kannst es auch so lassen, wie gehabt, Hauptsache ist ja, daß es funkioniert.
Alias wäre nur der korrektere Weg, mit dem eben auch dem Anwender die Möglichkeit gegeben wird, auf einen Wechsel von unsicheren auf sicheren Webseiten einzugreifen, bzw. gerade auch beim Weg zurück.
Ohne Alias nimmst Du dem User diese Möglichkeit gänzlich und vermittelst damit nicht immer ein sicheres Gefühl (geht mir jedenfalls bei Deinen Seite so, gerade wegen dieser Methode)...

EDIT
Ah ja, wieder was gelernt...

Verfasst: Do 28.Aug, 2008 11:18
von Dungeonwatcher
[quote="oxpus";p="87517"]Du kannst es auch so lassen, wie gehabt, Hauptsache ist ja, daß es funkioniert.[/quote]

Naja, ich mag es halt nicht wenn ich den Grund für diese unvollständige Verschlüsselung nicht kenne.
Alias wäre nur der korrektere Weg, mit dem eben auch dem Anwender die Möglichkeit gegeben wird, auf einen Wechsel von unsicheren auf sicheren Webseiten einzugreifen, bzw. gerade auch beim Weg zurück. Ohne Alias nimmst Du dem User diese Möglichkeit gänzlich und vermittelst damit nicht immer ein sicheres Gefühl (geht mir jedenfalls bei Deinen Seite so, gerade wegen dieser Methode)...
Wie meinst du das? Ich will ja gerade das er nicht die Möglichkeit hat zu wechseln. Das mein privates Zertifikat "bemängelt" wird, muss ich dazu in kauf nehmen.

Verfasst: Do 28.Aug, 2008 13:16
von oxpus
Ich will ja gerade das er nicht die Möglichkeit hat zu wechseln.
Das habe ich mir ja auch schon so gedacht, widerspricht aber dennoch dem Sicherheitsgedanken, der sich hinter den Zertifikaten verbergen soll.
Aber musst Du wissen, was Du Deinen Usern zutraust und zumutest.