[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Apache2, SSL, Zertifikat für virtual host



Moin,

On Tue, 2005-06-21 at 17:39, Matthias Fechner wrote:
> Bei SSL:
> - Client baut Verbindung zu IP auf und prüft das Zertifikat (stimmt
> der Hostname mit dem Zertifikat überein), wenn du hier auf einen
> anderen Hostnamen verbindest, lehnt dein Browser das ab, da es mit dem
> Zertifikat nicht passt.

soweit klar und mit eigenen Zertifikaten unumgänglich ...

> - bei nicht SSL würde der Brwoser jetzt sagen, ich will die HP für
> diesen Domainnamen, was bei SSL nicht geht, da der Hostname mit dem
> Zertifikat feststeht.
> - apache liefert nun seite mit diesem hostnamen aus
> 
> Bei SSL kann der Browser dem Webserver nicht sagen, er will die Seite
> haben, sondern bekommt die Seite, die an der IP hängt.
> Aus diesem Grund ist Name-based Virtual Hosts nicht möglich, sondern
> nur IP-based Virtual Hosts, d.h. du braucht für jede https Verbindung
> eine eigene IP Adresse.

AFAIK ist apache aber in der Lage verschiedene Zertifikate auf derselben
IP mit verschiedenen Ports anzusteuern und auszuliefern ...

<ungetestet und evtl falsch>
z.B. in httpd.conf:
  <VirtualHost 1.2.3.4:4430>
    ServerName foo.bar
    SSLEngine on
    SSLCertificateFile /etc/apache/ssl.crt/foo.bar.crt
    SSLCertificateKeyFile /etc/apache/ssl.key/foo.bar.key
    ...
  </VirtualHost>
  <VirtualHost 1.2.3.4:4431>
    ServerName bar.foo
    SSLEngine on
    SSLCertificateFile /etc/apache/ssl.crt/bar.foo.crt
    SSLCertificateKeyFile /etc/apache/ssl.key/bar.foo.key
    ...
  </VirtualHost>
  ...

und dann unter /var/www eine .htaccess anlegen, die ein rewrite des
Namens auf den Port macht, z.B.
  RewriteEngine on
  Options +FollowSymlinks
  RewriteBase /

  RewriteCond %{HTTP_HOST}   www.foo.bar$ [NC]
  RewriteRule /*         https://foo.bar:4430/ [L,R]

  RewriteCond %{HTTP_HOST}   www.bar.foo$ [NC]
  RewriteRule /*         https://bar.foo:4431/ [L,R]
  ...
</ungetestet und evtl falsch>

> 
> Mehrer IP Adressen kann man ohne Probleme als Alias auf die
> Netzwerkkarte hängen.
> Ich weiss jetzt nicht genau, wie es unter Linux ist, sollte aber in
> der Art eth0:0, eth0:1, ... sein.

siehe man interfaces, damit die auch mit ifup/ifdown funktionieren ...

Gruss
	-- hgb



Reply to: