PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache2 und SSL bei mehreren VHosts



AndreasMeier
28.11.05, 23:15
Hallo zusammen,

hab ein SSL-Problem bei meinem Apache2 unter Suse9.1.

Und zwar hab ich einen PC, mit einer IP-Adresse, auf dem ich mehrere VirtualHosts laufen hab, die per Name angesprochen werden.

Dazu steht in der httpd.conf :
NameVirtualHost *
Include vhost.conf

Dann kommen die VHosts und da fängt mein Problem an.
Ich möchte für 2 VirtualHosts SSL haben, bekomme dann aber beim Neustart folgende Fehlermeldung:
[warn] VirtualHost 192.168.xxx.xxx:443 overlaps with VirtualHost 192.168.xxx.xxx:443, the first has precedence, perhaps you need a NameVirtualHost directive

Jetzt aber erstmal meine vhost.conf:
<VirtualHost *>
ServerName subdomain1.home.int
DocumentRoot "/srv/www-extern/test1/htdocs"
<Directory "/srv/www-extern/test1/htdocs">
allow from all
Options +Indexes
</Directory>
</VirtualHost>

<VirtualHost 192.168.xxx.xxx:443>
ServerName subdomain2.home.int:443
DocumentRoot "/srv/www-extern/test2/htdocs"
SSLEngine on
SSLCertificateFile /etc/apache2/ssl.crt/test2_server.crt
SSLCertificateKeyFile /etc/apache2/ssl.key/test2_server.key
<Directory "/srv/www-extern/test2/htdocs">
allow from all
Options +Indexes +FollowSymLinks
</Directory>
</VirtualHost>

<VirtualHost 192.168.xxx.xxx:443>
ServerName subdomain3.home.int:443
DocumentRoot /srv/www-extern/test3/htdocs
SSLEngine on
SSLCertificateFile /etc/apache2/ssl.crt/test3_server.crt
SSLCertificateKeyFile /etc/apache2/ssl.key/test3_server.key
<Directory "/srv/www-extern/test3/htdocs">
allow from all
Options +Indexes
</Directory>
</VirtualHost>

Wie ihr seht, möchte ich beim ersten VHost noch ganz normal "ohne SSL" haben, bei den letzten beiden "mit SSL" und Bindung auf die eine IP-Adresse, die der PC eben hat.

Ich les mich schon die ganze Zeit bei apache.org und anderen Seiten durch, aber raff es im Moment einfach nicht.

Ich hab in der httpd.conf auch schon NameVirtualHost 192.168.xxx.xxx geschrieben, das macht die Sache aber schlimmer, weil dann auch noch die Fehlermeldung kommt von wegen mixing * und non-* ports...

Könnt ihr bitte weiterhelfen ?

Herzlichen Dank im voraus,
Gruß
Andreas

himbeere
28.11.05, 23:22
perhaps you need a NameVirtualHost directive

Vielleicht brauchst Du eine NameVirtualHost Directive. :-)

Schreib ma vor den ersten SSL Vhost:
NameVirtualHost 192.168.xxx.xxx:443

t.

AndreasMeier
28.11.05, 23:31
Hallo Himbeere,

mensch klasse ! Das hats gebracht.
Ich hatte ja auch (das hab ich gerade nochmal editiert, ohne zu checken, dass Du bereits geantwortet hattest) NameVirtualHost 192.168.xxx.xxx drin, oder auch NameVirtualHost 192.168.xxx.xxx:80.

Aber NameVirtualHost 192.168.xxx.xxx:443 hatte ich nicht getestet.

Herzlichen Dank,
Gruß
Andreas

AndreasMeier
28.11.05, 23:47
Jetzt hab ich trotzdem mal ne grundsätzliche Frage:

subdomain1 wird über subdomain1.dyndns.org angesprochen und benutzt das Zertifikat test1, welches auf "subdomain1.dyndns.org" ausgestellt ist.

subdomain2 wird über subdomain2.dyndns.org angesprochen und benutzt das Zertifikat test2, welches auf "subdomain2.dyndns.org" ausgestellt ist.

Geht das, dass ich 2 verschiedene Zertifikate ihm für 2 VHosts angebe, obwohl es nur ein PC mit einer IP dahinter ist ?
Oder darf es bei der Konfiguration nur ein Zertifikat sein ?

Gruß
Andreas

Roger Wilco
29.11.05, 02:27
Geht das, dass ich 2 verschiedene Zertifikate ihm für 2 VHosts angebe, obwohl es nur ein PC mit einer IP dahinter ist ?
Nein, das geht prinzipbedingt nicht. Du könntest aber einfach beide Hostnames in ein Zertifikat packen (z. B. per subjectAltName) und dieses Zertifikat dann für beide VirtualHosts verwenden.