Namebased SSL Apache SNI

Aus Cowwwiki
Zur Navigation springen Zur Suche springen

Ab Apache v2.2.12 and OpenSSL v0.9.8 wird SNI unterstützt, womit auch mit mod_ssl mehrere SSL-Virtualhosts unter einer einzigen IP gehostet werden können. Jeder VirtualHost hat dabei sein eigenes Zertifikat. Voraussetzung dafür ist, dass die Clients (z. B. Browser) SNI unterstützen. Windows XP IE wird beispielsweise nicht unterstützt. Möchte man SNI einsetzen, sollte man das beachten.

Voraussetzungen

  • mod_ssl
  • apache2 2.2.12+
  • openssl 0.9.8+

Falls mod_ssl noch nicht aktiviert ist, kann dies mit folgendem Befehl tun.

a2enmod ssl 


Anschließend ist der apache2 neuzustarten.

Virtualhosts

Ich erkläre es hier exemplarisch an zwei virtuellen Hosts, die jeweils unterschiedliche Domains und Zertifikate haben.

VirtualHost me.awesome.de:

NameVirtualHost *:443

<VirtualHost *:443>
  ServerName me.awesome.de
  DocumentRoot /var/www/htdocs/me.awesome.de/

  SSLEngine on
  SSLCertificateFile /etc/apache2/ssl-certs/me.awesome.de/me.awesome.de.crt
  SSLCertificateKeyFile /etc/apache2/ssl-certs/me.awesome.de/me.awesome.de.key

  ErrorLog /var/log/apache2/me_awesome_de_error.log
  CustomLog /var/log/apache2/me_awesome_de_access.log common
</virtualhost>

Hinweis: Man beachte NameVirtualHost *:443. Dieser Eintrag ist zwingend in einem VirtualHost anzugeben.


VirtualHost me.thebest.com:

<VirtualHost *:443>
  ServerName me.thebest.com
  DocumentRoot /var/www/htdocs/me.thebest.com/

  SSLEngine on
  SSLCertificateFile /etc/apache2/ssl-certs/me.thebest.com/me.thebest.com.crt
  SSLCertificateKeyFile /etc/apache2/ssl-certs/me.thebest.com/me.thebest.com.key

  ErrorLog /var/log/apache2/me_thebest.com_error.log
  CustomLog /var/log/apache2/me_thebest.com_access.log common
</virtualhost>

Anschließend VirtualHosts jeweils mit a2ensite aktivieren und einen servce apache2 reload durchführen. Von einem SNI-fähigen Client sollten die Seiten ohne Warnungen verfügbar sein.

Quellen

https://www.digicert.com/ssl-support/apache-multiple-ssl-certificates-using-sni.htm