Seit heute morgen habe ich versucht, Eure Antworten zu meiner letzten
Frage (Betreff: "Port 80 an Port 443 weiterleiten") umzusetzen. Leider
ohne Erfolg.
Mittlerweile habe ich meine Apache2-Konfigurartion vollkommen geändert
und versuche, mein Problem mit VirtualHosts zu lösen. Nach wie vor soll
eine unverschlüsselte HTTP-Verbindung (Port 80) auf Port 443 umleitet
werden.
Hier ein Auszug aus meiner /etc/apache2/apache2.conf:
# Angabe der Ports:
Listen 192.168.0.1:80
Listen 192.168.0.1:443
# Name des Haupt-Installationsverzeichnisses:
ServerRoot /etc/apache2
# Benoetigte Module laden:
Include /etc/apache2/module
# VirtualHosts laden:
Include /etc/apache2/hosts
# SSL
SSLEngine On
SSLMutex sem
SSLRandomSeed startup builtin
SSLCertificateFile ssl/apache2.crt
SSLCertificateKeyFile ssl/apache2.key
In der "/etc/apache2/module" werden folgende Module geladen:
- auth_digest_module
- ssl_module
- rewrite_module
Hier noch der Inhalt der "/etc/apache2/hosts":
NameVirtualHost 192.168.0.1:80
NameVirtualHost 192.168.0.1:443
<VirtualHost 192.168.0.1:80>
Redirect / https://foo.bar.tld
</VirtualHost>
<VirtualHost 192.168.0.1:443>
# Name des Servers:
ServerName foo.bar.tld
# Name des Administrators:
ServerAdmin in...@bar.tld
# Basisverzeichnis: Dieses Verzeichnis enthaelt alle HTML-Dateien,
# Bilder, Grafiken, etc.
DocumentRoot /var/www
# Verzeichnis fuer Daten von lokalen Benutzern:
UserDir HTML
# Nach diesen Dateien wird automatisch gesucht:
DirectoryIndex index.htm index.html index.xhtml
</VirtualHost>
Nach dem Neustart des Apache-Servers erhalte ich unter
"/var/log/apache2/error.log" folgende Fehlermeldung (ohne Angabe des
Datums):
[warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[error] Illegal attempt to re-initialise SSL for server
(theoretically shouldn't happen!)
Nun meine Fragen:
1.) Ist die Umleitung (Port 80 --> Port 443) so in Ordnung?
2.) Was stimmt an meinen SSL-Einstellungen nicht?
Bitte beachtet bei Euren Antworten, dass ich noch Newbie bin.
Vielen Dank für Eure Mühe!
Gruß,
Thilo
--
Registered Linux user #348074 with the Linux counter
http://counter.li.org
--
Haeufig gestellte Fragen und Antworten (FAQ):
http://www.de.debian.org/debian-user-german-FAQ/
Zum AUSTRAGEN schicken Sie eine Mail an debian-user-g...@lists.debian.org
mit dem Subject "unsubscribe". Probleme? Mail an listm...@lists.debian.org (engl)
> Hier noch der Inhalt der "/etc/apache2/hosts":
>
> NameVirtualHost 192.168.0.1:80
> NameVirtualHost 192.168.0.1:443
>
> <VirtualHost 192.168.0.1:80>
> Redirect / https://foo.bar.tld
Probier hier mal, statt dein Redirect:
(oder heißt das unter Apache2 jetzt so?)
RewriteEngine On
RewriteRule ^/(.*)$ https://%{HTTP_HOST}/$1
> </VirtualHost>
>
> <VirtualHost 192.168.0.1:443>
> # Name des Servers:
> ServerName foo.bar.tld
>
> # Name des Administrators:
> ServerAdmin in...@bar.tld
>
> # Basisverzeichnis: Dieses Verzeichnis enthaelt alle HTML-Dateien,
> # Bilder, Grafiken, etc.
> DocumentRoot /var/www
>
> # Verzeichnis fuer Daten von lokalen Benutzern:
> UserDir HTML
>
> # Nach diesen Dateien wird automatisch gesucht:
> DirectoryIndex index.htm index.html index.xhtml
Wo ist das Zertifikat?
> </VirtualHost>
>
>
> Nach dem Neustart des Apache-Servers erhalte ich unter
> "/var/log/apache2/error.log" folgende Fehlermeldung (ohne Angabe des
> Datums):
>
> [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
> [error] Illegal attempt to re-initialise SSL for server
> (theoretically shouldn't happen!)
Sieht nicht gut aus. Was sagt 'netstat -nlt'?
>
> Nun meine Fragen:
>
> 1.) Ist die Umleitung (Port 80 --> Port 443) so in Ordnung?
Siehst du in deinem Browser, wenn aus http https wird...
> 2.) Was stimmt an meinen SSL-Einstellungen nicht?
>
> Bitte beachtet bei Euren Antworten, dass ich noch Newbie bin.
Grüße
Mathias
Du hast recht: Die Angaben zum Zertifikat müssen innerhalb des
"VirtualHost"-Eintrages angegeben werden.
Den zweiten "VirtualHost"-Eintrag habe ich um folgende Zeilen erweitert:
# SSL
SSLEngine On
SSLCertificateFile ssl/apache2.crt
SSLCertificateKeyFile ssl/apache2.key
Scheint jetzt zu funktionieren.
Was ich aber nicht ganz verstehe... Du hast folgenden Vorschlag gemacht:
RewriteEngine On
RewriteRule ^/(.*)$ https://%{HTTP_HOST}/$1
Die letzte Zeile würde ich wie folgt interpretieren:
"Alle eingehenden Anfragen werden an "https://....." weitergeleitet."
Entsteht hierdurch nicht eine "Endlosschleife"?
> > </VirtualHost>
> >
> >
> >Nach dem Neustart des Apache-Servers erhalte ich unter
> >"/var/log/apache2/error.log" folgende Fehlermeldung (ohne Angabe des
> >Datums):
> >
> > [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
> > [error] Illegal attempt to re-initialise SSL for server
> > (theoretically shouldn't happen!)
>
> Sieht nicht gut aus. Was sagt 'netstat -nlt'?
>
> >
> >Nun meine Fragen:
> >
> >1.) Ist die Umleitung (Port 80 --> Port 443) so in Ordnung?
>
> Siehst du in deinem Browser, wenn aus http https wird...
>
> >2.) Was stimmt an meinen SSL-Einstellungen nicht?
> >
> >Bitte beachtet bei Euren Antworten, dass ich noch Newbie bin.
>
> Grüße
> Mathias
Gruß,
Thilo
--
Registered Linux user #348074 with the Linux counter
http://counter.li.org
> Was ich aber nicht ganz verstehe... Du hast folgenden Vorschlag gemacht:
>
> RewriteEngine On
> RewriteRule ^/(.*)$ https://%{HTTP_HOST}/$1
>
> Die letzte Zeile würde ich wie folgt interpretieren:
> "Alle eingehenden Anfragen werden an "https://....." weitergeleitet."
>
> Entsteht hierdurch nicht eine "Endlosschleife"?
Nein, wenn du die Rewrite-Regeln in einen virtuellen Host auf Port 80
ohne SSL einbaust, dann nicht.
Grüße, Torsten
> Was ich aber nicht ganz verstehe... Du hast folgenden Vorschlag gemacht:
>
> RewriteEngine On
> RewriteRule ^/(.*)$ https://%{HTTP_HOST}/$1
>
> Die letzte Zeile würde ich wie folgt interpretieren:
> "Alle eingehenden Anfragen werden an "https://....." weitergeleitet."
>
> Entsteht hierdurch nicht eine "Endlosschleife"?
nene, nochmal zum Verständnis:
RewriteRule ^/(.*)$ https://%{HTTP_HOST}/$1
- (.*) bezieht sich auf das, was nach dem Slash kommt
- %{HTTP_HOST} ist der Host, den du aufgerufen hast,
also z.B. www.meinedomain.de
- $1 ist das Ergebnis von (.*)
So funzt das bei mir einwandfrei...
Grüße
Mathias
Tauber, Mathias Mailing, 19.07.2004 (d.m.y):
> nochmal zum Verständnis:
>
> RewriteRule ^/(.*)$ https://%{HTTP_HOST}/$1
>
> - (.*) bezieht sich auf das, was nach dem Slash kommt
> - %{HTTP_HOST} ist der Host, den du aufgerufen hast,
> also z.B. www.meinedomain.de
> - $1 ist das Ergebnis von (.*)
Danke. :-)
Warum stehen derlei Dinge eigentlich nie so einfach formuliert in der
Doku? Dann koennte vielleicht auch ich sie verstehen... ;-)
Gruss,
Christian
--
Stehen zwei Kühe auf der Weide. Sagt die eine zur anderen: "Muh". Sagt
die andere: "Mist, das wollte ich auch gerade sagen".