• This forum has a zero tolerance policy regarding spam. If you register here to publish advertising, your user account will be deleted without further questions.

Frage, ISPconfig und SSL für Domain

Domi

Member
Hallo Leute, ich habe da mal eine kleine Frage, die meinem Kollegen aufgefallen ist...

Wir haben einen Server der mit ISPconfig bestückt ist und unter Ubuntu läuft. Der Server hat nur eine IP Adresse und eine der Domains besitzt SSL!

Wir haben jetzt example.com, example.net und example.de als Domains auf diesem Server. Die example.de besitzt SSL und ist auch darüber erreichbar :)

Jetzt ist uns aber aufgefallen, wenn wir example.com mit https eingeben, wird erst mal darauf hingewiesen dass das Zertifikat für example.de gültig ist und wenn man diesen Sicherheitshinweis bestätigt, werden alle Inhalte von example.de auf der example.com angezeigt :eek:

Kann man das irgendwie verhindern? Ich möchte SSL nur auf der Domain example.de aktiviert haben und nicht auf den anderen Domains :D

Gruß, Domi
 
Läuft das ganze unter einer IP? Hast Du SSI für alle Domains aktiviert?
Welches SSL-Zertifikat verwendet wird, kannst Du in /etc/apache2/sites-enabled/DOMAIN sehen.
 
Moin moin... Ja, es läuft alles unter einer IP Adresse. Hoffe wir reden jetzt aber nicht aneinander vorbei wegen SSI, aber auf den anderen TLDs soll SSL nicht funktionieren :)
- example.de (SSL!)
- example.com (kein SSL!)
- example.net (kein SSL!)

Aber sobald ich example.com mit https öffne, kommt erst die Meldung dass das Zertifikat für die DE Domain ist (Korrekt!), was ich bestätigen kann und dann öffnet er mir die Seite. Allerdings zeigt er mir dann auf der example.com die Inhalte der DE Domain an.

Ich kann sogar jede andere Domain mit https öffnen und bekomme immer die Inhalte von example.de angezeigt :eek:
 
Die Symptome sprechen dafür, dass es nur einen HTTPS-VHost gibt. D.h., dass alle HTTPS-Connections in diesen VHost fallen, weil Apache keine Alternative hat.
Lege einen default-Vhost an, welche alle anderen Aufrufe auffängt. Dazu trägst Du beim ServerName die IP ein. Achte darauf, dass dieser VHost zuerst geladen wird.

Und wenn Du es richtig rund machen willst, schreibst Du in dem VHost eine Rewrite-Regel, die die aufgerufenen Domain raus nimmt und dort auf den HTTP-Port weiterleitet.

huschi.
 
Moin Huschi, schon mal vielen Dank für den Tipp ich werde mal händisch eine default Config schreiben und diese bei "sites-enabled" eintragen. Hoffe, ich habe es richtig verstanden :)

Das genau diese Config (vHost) zuerst geladen wird, geschieht doch durch die Sortierung mit Nummern beim Namen, oder irre ich mich? Die meisten Server haben ja in der "sites-enabled" so etwas wie 000-default, 100-example.com etc.

Was mich aber dann noch interessiert...
Und wenn Du es richtig rund machen willst, schreibst Du in dem VHost eine Rewrite-Regel, die die aufgerufenen Domain raus nimmt und dort auf den HTTP-Port weiterleitet.
Wie ist das gemeint? :)

Gruß, Domi
 
Sortierung nach Namen ist korrekt.

Gemeint ist, dass wenn man https://example.com aufruft, man automatisch weitergeleitet wird auf http://example.com.
Das ist mit einer kleinen RewriteCond (zur Bestimmung der Domain) und einer RewriteRule (als Weiterleitung) einfach zu lösen.

huschi.
 
Moin moin... Sage mal, hast Du vielleicht ein Beispiel wie die default vhost aussehen soll? Ich habe es vorhin mal ein wenig versucht und einfach die default config für den Port 80 verwendet, aber anscheinend will das nicht :(
Code:
<VirtualHost 123.123.123.123:443>
 ServerAdmin webmaster@localhost
 ServerName 123.123.123.123
 DocumentRoot /var/www

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

 ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
 <Directory "/usr/lib/cgi-bin">
  AllowOverride None
  Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
  Order allow,deny
  Allow from all
 </Directory>

 # Possible values include: debug, info, notice, warn, error, crit,
 # alert, emerg.
 LogLevel warn
 CustomLog /var/log/apache2/access.log combined
 ErrorLog /var/log/apache2/error.log

 Alias /doc/ "/usr/share/doc/"
 <Directory "/usr/share/doc/">
  Options Indexes MultiViews FollowSymLinks
  AllowOverride None
  Order deny,allow
  Deny from all
  Allow from 127.0.0.0/255.0.0.0 ::1/128
 </Directory>
</VirtualHost>
Wenn ich diese Datei dann als 000-default-ssl unter "sites-enabled" einbinde und den Server neu starte, funktioniert die SSL Domain die funktionieren sollte, gar nicht mehr... ich vermute mal, es wird mir noch etwas fehlen was kinderleicht ist :rolleyes:

Gruß, Domi
 
Das brauchst Du bei ISPConfig auch nicht. Du darfst bei SSL unter IP keine Wildcard eintragen und musst für jede Seite SSL aktivieren.
 
Klar, Wildcard geht.
Wenn man SNI nutzt muss man nichtmal SSL bei jeder Domain aktivieren (sofern alle unter einer IP laufen und nur Wildcards genutzt werden bei der IP).
Sofern man https://irgendnedomainaufdemserver.tdl ansurft landet man halt auf der ersten vergebenen SSL Seite auf dem Server, völlig egal ob der Haken bei SSL gesetzt ist oder nicht, ist nur eine Seite mit SSL landet man eben dort.
Ab hier weiter mit dem was Huschi schrieb.

Gruß Sven
 
So... heute bin ich endlich mal dazu gekommen, ein wenig weiter zu testen und es klappte dann endlich. Ich habe nun eine "000-default-ssl" mit folgendem Inhalt erstellt und das scheint zu laufen :)
Code:
<VirtualHost 123.123.123.123:443>
 DocumentRoot /var/www
 ServerAdmin webmaster@localhost

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

 ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
 <Directory "/usr/lib/cgi-bin">
  AllowOverride None
  Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
  Order allow,deny
  Allow from all
 </Directory>

 # Domain Weiterleitung
 RewriteEngine on
 RewriteCond %{HTTPS} on
 RewriteRule ^(.*)$ http://%{HTTP_HOST} [R=301,L]

 # Possible values include: debug, info, notice, warn, error, crit,
 # alert, emerg.
 LogLevel warn
 CustomLog /var/log/apache2/access.log combined
 ErrorLog /var/log/apache2/error.log

 SSLEngine on
 SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
 SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
</VirtualHost>
Vielleicht hat jemand irgendwann ein ähnliches Problem oder Frage und dann kann man damit schon mal arbeiten :)

Gruß, Domi
 
Back
Top