Hallo MudGuard,
Natürlich muss Apache sowohl Port 80 als auch 443 abhören.
Ist das so natürlich, daß ein Apache zur Lösung Deines Problems auf 80 und 443 horchen muß?
Lösungsansatz:
Laß einen Apache nur auf Port 80 horchen.
Und einen zweiten Apache nur auf Port 443.Im ersten definierst Du alle virtual hosts, im zweiten nur den für ssl.
Auch, wenn zwei Apache-Server laufen, gelangen Anfragen auf $host:443 immer an den Server, der Port 443 belauscht. Und dieser Server kann nicht an Hand des Hostnamens entscheiden, ob er diesen verweigern soll - es sei denn, ein Host hat eine andere IP-Adresse.
Und weil sich somit für mich nichts ändert, lasse ich lieber einen Apache-Server laufen.
Immerhin wird innerhalb der erfolgten SSL-Verschlüsselung der vom Browser angefragte Hostname mit übertragen, sodass ich dann entsprechende Inhalte ("403 Forbidden") ausliefern kann.
Grüße
Marc Reichelt || http://www.marcreichelt.de/
Linux is like a wigwam - no windows, no gates and an Apache inside!
Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)