Page 1 of 1

Apache-SSL - Fuer alle VHosts wird das selbe cert gesendet

Posted: 2003-07-27 21:30
by krogoth
Hallo,

ich hab mir eben ApacheSSL installiert und soweit auch konfiguriert.

Der Main-Server hat SSL aus und ich hab 2 VHosts, bei denen SSL an ist.

hier die vhost-config von meiner httpsd.conf:

Code: Select all

NameVirtualHost 217.160.xxx.xxx

<VirtualHost 217.160.xxx.xx:443>
     SSLEnable
     SSLCertificateFile /usr/apache_ssl/conf/keys/ssl.crt/test.crt
     SSLCertificateKeyFile /usr/apache_ssl/conf/keys//ssl.key/test.key
     SSLSessionCacheTimeout 3600
     ServerName test.meinedomain.tld
     DocumentRoot /home/ssl/meinedomain.tld/test
</VirtualHost>

<VirtualHost 217.160.xxx.xx:443>
     SSLEnable
     SSLCertificateFile /usr/apache_ssl/conf/keys/ssl.crt/subdomain.domain.tld.crt
     SSLCertificateKeyFile /usr/apache_ssl/conf/keys//ssl.key/subdomain.domain.tld.key
     SSLSessionCacheTimeout 3600
     ServerName subdomain.domain.tld
     DocumentRoot /home/ssl/domain.tld/subdomain
</VirtualHost>
also er sendet immer das zertifikat des ersten VHosts, nie das des 2. obwohl er die doc-root des 2. aufruft.

(Apache_1.3.27+SSL_1.48, openssl 0.9.7b)

die beiden keys und crts wurden separat erstellt, also es sind alles verschiedene

Re: Apache-SSL - Fuer alle VHosts wird das selbe cert gesendet

Posted: 2003-07-27 21:38
by oxygen
Pro IP geht halt immer nur ein Zertifikat.

Re: Apache-SSL - Fuer alle VHosts wird das selbe cert gesendet

Posted: 2003-07-27 21:40
by krogoth
hm.. muesste ich als ein zertifikat an eine ip und nicht an den vhost binden?

wieso ist das so? ist das nur bei apache so oder ist das von der ssl-spezifikation so?

Re: Apache-SSL - Fuer alle VHosts wird das selbe cert gesendet

Posted: 2003-07-27 22:00
by floschi
Das ist http ;)

Re: Apache-SSL - Fuer alle VHosts wird das selbe cert gesendet

Posted: 2003-07-27 22:04
by krogoth
hm.. also wenn ich das richtig verstehe ist das zertifikat fuer die verbindung zustaendig und die vhosts sind dann am endpunkt.
Also kann ich zwar vhosts mit https verwenden, aber die zertifikate sind nur fuer die betreffende ip?

Re: Apache-SSL - Fuer alle VHosts wird das selbe cert gesendet

Posted: 2003-07-27 22:20
by Anonymous
Für SSL sind die Kombinationen aus IP und Port maßgeblich.
Da normalerweise 443 als Port verwendet wird, denken nun alle, es sei nur ein Zertifikat möglich... Irrtum.

Man kann den Apache auf verschiedenen Ports mit verschiedenen Zertifikaten verbinden.
Allerdings bedeutet dies dann, dass der User mit https://xyz.de nur den Port 443 erreicht. Für die anderen müsste er dann eingeben: https://xyz.de:1234 (1234=beliebige Portnummer, auf der der Apache mit SSL lauscht).

Ist in der Praxis natürlich nicht sehr elegant. Da mehrere Zertifikate zumeist aber auch nur bei mehreren Domains (bzw. völlig unterschiedlichen Webinhalten) Sinn machen, kann man auch die schönen Redirect-Funktionen des Apachen benutzen, um beispielsweise http://blubb.de auf https://sslblubb.de:1234 umzuleiten.
Dann geschieht der weitere Datenaustausch sauber per SSL.

Habs in der Praxis so laufen. Obwohl's nicht perfekt ist, funktionierts einwandfrei.


Angenehmen Start in die Woche Euch allen,

Carsten