SNI einrichten für Seiten mit und ohne SSL Verschlüsselung

isp_geek

Member
Hallo Leute,

ich muss auf einem Server eine Seite einmal mit und ein weitere ohne SSL Verschlüsselung enrichten. Ich habe jetzt etliche Beiträge und Howtos zu den Thema durchgekaut und ich checke es nicht, was hier nicht funktioniert.

default deaktiviert mit a2dissite
default-ssl deaktiviert mit a2dissite

Im Moment ist eine Beispiel-Seite "cccc.de" ohne SSL eingerichtet mit
Code:
<VirtualHost *:80>
und eine Beispiel-Seite "oooo.de" mit SSL
Code:
<VirtualHost *:443>
und hat kein <VirtualHost *:80> Bereich.

Mein Browser FF29:
1) Wähle ich http://cccc.de -> http://cccc.de OK.
2) Wähle ich http://oooo.de -> http://cccc.de ERR! (Seite cccc.de wird unter Adresse http://oooo.de angezeigt)

3.) Wähle ich https://cccc.de -> https://oooo.de ERR! (Seite oooo.de wird unter Adress https://cccc.de mit Zertifikatsfehler angezeigt)
4.) Wähle ich https://oooo.de -> https://oooo.de OK.

Irgendwie läuft hier was wunderbar schief.


Ich habe als Nächstes auch den Bereich
Code:
<VirtualHost *:80>
der Seite oooo.de "nachgetragen" mit dem Ergebnis:
2. ) Wähle ich http://oooo.de -> http://oooo.de OK.

Für die Seite cccc.de habe ich nach wie vor noch keinen Bereich
Code:
<VirtualHost *:443>
und der Aufruf https://cccc.de endet mit 3.)

Hab die default-ssl aktiviert und lande nun auf der "It works" Seite jedoch mit Zertifikatsfehler (da selfsigned).

Ich möchte doch lediglich, dass die Seiten ohne SSL bei Aufruf https://cccc.de ohne Zertifikatsfehler auf http://cccc.de geleitet werden oder zumindest "Seite nicht gefunden" ausspucken.

Was mach ich da nur falsch?
Geht das überhaupt?
Brauch ich dafür unbedingt ne 2. IP?
Siehe http://www.howtoforge.de/forum/37018-post3.html


Währe für Eure Vorschläge und Ideen sehr dankbar.
 

robotto7831a

Well-Known Member
Es läuft alles richtig.

Wenn man oooo.de auf Port 80 aufruft, dann findet der Apache keinen entsprechenen vhost Container und liefert einfach einen aus. In diesem FAll cccc.de.

Ich würde eine Umleitung bauen der alle Anfragen für http auf https umleitet. Und bei dem anderen Fall halt anders herum.

RedirectSSL - Httpd Wiki

Du benötigst keine zweite IP wenn Du mit leben kannst, dass alle Computer <= XP mit IE die Seiten nicht richtig aufrufen können. Dort versteht das Betriebssystem kein SNI. Wenn die User allerdings einen alternativen Browser nutzen, dann funktioniert es auch unter <= XP.
 

isp_geek

Member
hi robotto7831a,

danke für deine Antwort, irgendwie ist mir das doch komisch.

Ist das so korrekt, dass wenn ich auf cccc.de per https aufrufe erstmal über Port 443 eine ges. Verbindung aufgemacht wird, dann wird das Zertifikat gesucht, wenn keins für die Domain verfügbar, dann Erstes aus Liste der sites-enabled gewählt und ausgeliefert? Folglich ZertifikatsFehler ZF.

Nur auf Servern bei denen kein SSL für irgendeine Domain eingerichtet ist, erscheint "Seite nicht verfügbar" ohne ZF. Weil sonst würde ja ersteres zutreffen. Richtig?

Hab ich in der vhost den <VirtualHost *:443> Container für eine Domain ohne SSL (Konfiguration), dann wird trotzdem das erste Zertifikat aus der Liste ausgeliefert und dann erst der Redirect ausgeführt.

Hab jetzt schon einige Varianten probiert, und ich schaffe es einfach nicht ein Redirect von https zu http hinzubekommen ohne ZF.

Wie geht das? vg.ks
 

robotto7831a

Well-Known Member
Also wenn es keinen passenden Container gibt, dann liefert der Apache irgendeinen Container aus.

Das mit dem Zertifikatfehler lässt sich wahrscheinlich nicht umgehen. Besorg dir doch bei startssl.com ein kostenloses Jahreszertifikat. Damit kannst Du das Problem umgehen.

Oder Du benötigst mehrere IP Adressen. Dann würde aber bei der Seite wo es kein SSL gibt und man versucht die Seite per SSL aufzurufen eine Fehlermeldung kommt ala gibt es nicht.

Sonst sehe ich keine Lösung.
 

isp_geek

Member
naja besser "Seite nicht gefunden" als Zertifikatsfehler, die Browser sind da sehr penetrant bei sowas.

Im Grunde stellt sich mir die Sache so dar:
Entweder ist der Server komplett ohne SSL, oder 2. IP für Seite mit SSL bzw. für jede weitere Seite mit SSL eine IP, dann kein ZF und "Seite nicht gefunden"-Fehler.
Sobald der Server auf SSL reagiert, dann muss auch ein Zertifikat für die Domain gefunden werden, sonst ZF.

Wär eigentlich eine strikte Trennung von Seiten mit und ohne SSL auf verschiedenen Servern entsprechend angebrach. Was meinst ..?
 

isp_geek

Member
Vielen Dank für den Hinweis das werde ich mir nochmal genauer anschauen, interessant, dass das sonst nirgends zur Sprache kam ... aber nun zum Eigentlichen:

naja besser "Seite nicht gefunden" als Zertifikatsfehler, die Browser sind da sehr penetrant bei sowas.

Im Grunde stellt sich mir die Sache mit SNI so dar:
Entweder ist der Server komplett ohne SSL, oder 2. IP für Seite mit SSL bzw. für jede weitere Seite mit SSL eine IP, dann kein ZF und "Seite nicht gefunden"-Fehler.
Sobald der Server auf SSL reagiert, dann muss auch ein Zertifikat für die Domain gefunden werden, sonst ZF.

Wär eigentlich eine strikte Trennung von Seiten mit und ohne SSL auf verschiedenen Servern entsprechend angebrach. Was meinst ..?
Ist das so korrekt, oder hab ich das immer noch nicht verstanden?
 

robotto7831a

Well-Known Member
Ich denke es ist so korrekt.

Aber zwei verschiedene Server für SSL und nicht SSL laufen zu lassen ist denke ich etwas viel.
 

Werbung

Top