2 Virtuelle SSL-Server mit Apache2

vBFreak

Registered User
Ich hab vor kurzem erfolgreich einen SVN-Server über Apache2 mit SSL zum Laufen gebracht, läuft auch soweit wunderbar, aber jetzt wollte ich noch nen 2. Virtuellen Server mit SSL für phpmyadmin einrichten, allerdings will er einfach nicht und ich hab keine Ahnung wieso, beim Starten kommt keine ungewöhnliche Fehlermeldung...

1. Virtueller Server:

Code:
NameVirtualHost *:443
<VirtualHost *:443>
        DocumentRoot /svn/nix
        ServerName svn.meinedomain.org
        CustomLog /var/log/apache2/svn/access.log vcombined
        ErrorLog /var/log/apache2/svn/error.log
        LogLevel warn
        ErrorDocument 401 "password required"
        SSLEngine On
        SSLCertificateFile /etc/apache2/ssl/apache.pem
        SSLCertificateKeyFile /etc/apache2/ssl/xxxxxxxx.0
        SSLProtocol all
        SSLCipherSuite HIGH:MEDIUM
        <Location /repo1>
                DAV svn
                SSLRequireSSL
                SVNPath /svn/repo1
                AllowOverride None
                ForceType application/octet-stream
                AuthType Basic
                AuthName "SVN-Repository 1"
                AuthUserFile /svn/repo1/.htpass
                require valid-user
                Satisfy All
        </Location>
</VirtualHost>

Virtueller Server 2:
Code:
NameVirtualHost *:443
<VirtualHost *:443>
        ServerName dbadm.meinedomain.org
        ServerAdmin info@meinedomain.org
        SSLEngine On
        SSLCertificateFile /etc/apache2/ssl/apache.pem
        SSLCertificateKeyFile /etc/apache2/ssl/xxxxxxxx.0
        SSLProtocol all
        SSLCipherSuite HIGH:MEDIUM

        DocumentRoot /var/www/phpmyadmin/
        <Directory /var/www/phpmyadmin/>
                SSLRequireSSL
                Options FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        ErrorLog /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log vcombined
        #ServerSignature On

</VirtualHost>

Wenn ich https://svn.meinedomain.org aufrufe lande ich wunderbar ssl geschützt in meinem svn repository, wenn ich https://dbadm.meinedomain.org aufrufe passiert garnix, der Browser gibt einfach nur die Meldung aus dass die Seite nicht erreichbar sei...

Was ich auch sehr sehr merkwürdig finde, in meinem sites-enabled Ordner habe ich 2 symlinks zur genau gleichen Datei vom virtuellen svn server, wenn ich nur einen Symlink zur virtuellen svn server Datei habe und die Zweite entferne bekomm ich beim Starten von Apache2 auf einmal diesen Fehler:

[Sat Jun 24 08:30:00 2006] [error] VirtualHost *:443 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results

Ist das irgendein Bug? Oder was mach ich falsch?
 
Last edited by a moderator:
vBFreak said:
NameVirtualHost *:443
<VirtualHost *:443>
Setzt am besten immer die konkrete IP-Adresse ein. Apache macht schon seit Ewigkeiten seltsame Probleme mit den Jokerzeichen.

Zweitens sollte Dir klar sein, daß man pro IP-Adresse immer nur einen SSL-Server aufsetzen sollte. Hier kann es (muß aber nicht) zufällig funktionieren, da Du das selbe Zertifikat verwendest.

https://dbadm.meinedomain.org aufrufe passiert garnix, der Browser gibt einfach nur die Meldung aus dass die Seite nicht erreichbar sei...
Firefox gibt etwas bessere Auskünfte. Aber zur not einmal selber testen:
telnet dbadm.meinedomain.org https

huschi.
 
Huschi said:
Zweitens sollte Dir klar sein, daß man pro IP-Adresse immer nur einen SSL-Server aufsetzen sollte. Hier kann es (muß aber nicht) zufällig funktionieren, da Du das selbe Zertifikat verwendest.

Danke erstmal für diese Info, aber was kann ich machen wenn ich mein phpmyadmin ssl-verschlüsseln will, andererseits aber meinen svn server bräuchte oder in Zukunft vielleicht sogar noch andere? :/

Kann ich vielleicht 1x ip:443 und 1x subdomain:443 einsetzen? oder beide male ne verschiedne Subdomain? Oder vielleicht n 2. Zertifikat erstellen?

Bisher hab ich bei allen Virtuellen Servern nur * stehen, sollte ich da auch bei den normalen virtuellen Servern meine server IP einsetzen?
 
Last edited by a moderator:
Mit zwei verschiedenen Zertifikaten funktioniert es auf keinen Fall.
Dazu mußt Du Dir klar machen, wie ein https-Request vom Apache verarbeitet wird:
http://www.softed.de/fachthema/Allgemeines/https.asp
Man beachte, daß der eigendliche http-Request, in dem erst der Domain-Name übermittelt wird im obigen Link als Punkt 7 & 8 ist.
Dann wird schnell klar, warum Du nur einen SSL-VirtualHost pro IP erstellen kannst.

huschi.
 
Ich hab aber dummerweise nur eine IP... kann ich irgendwie einen virtuellen allgemeinen SSL-Server erstellen und dann von diesem virtuellen SSL Server SSL-Verbindungen auf dbadm und svn zugleich machen?

Irgendwie muss es doch ne Lösung geben :/
 
du könntest aber auch anstelle der 443 einfach den Port 444 verwenden.
Ich selbst verwende SSL für eine Webseite.
Um allerdings dann an mein Control Panel zu kommen hab ich selbst diese via SSL auf den Port 444 gelegt.
klappt problem los
 
Ich hab mir jetzt überlegt, dass ich nen virtuellen Server namens secure angelegt hab und dann in nem extra document root alles was ssl verschlüsselt sein soll in dieses extra document root Verzeichnis kommt, svn wird ja eh per location gehandhabt innerhalb des virtuellen Servers...

Nun hab ich nurnoch 1 Problem, egal welchen virtuellen Server ich verwende, wenn ich n https in die Adresszeile setze wirds automatisch vom secure virtual server gehandlet, kann ich das irgendwie auf secure beschränken, so dass https://einanderervirtualserver.meinedomain.de nen Error ausgibt oder auf die normale http:// zurückleitet? Bin soweit zufrieden wies jetzt ist, aber diesen kleinen Schönheitsfehler würd ich wenns möglich ist gerne auch noch beseitigen...
 
Last edited by a moderator:
Back
Top