http und https auf einem vhost

Apache, Lighttpd, nginx, Cherokee
Post Reply
godmode
Posts: 4
Joined: 2005-08-31 15:46
 

http und https auf einem vhost

Post by godmode »

hallo,

ich betreibe seit etwa zwei jahren einen server welchen ich mit confixx verwaltet habe. nach diversen problemen möchte ich davon aber abschied nehmen und alles selber per editor konfigurieren. eigendlich ist auch alles sehr logisch, aber ein problem habe ich jetzt doch. zuächst einmal stelle ich den soll-zustand da:

auf dem server mit der ip 111.222.333.444. soll ua. die domain meinedomain.com gehostet werden (http & https). wenn man den server aber direkt per ip [http(s)://111.222.333.444] anspricht, soll nix passieren (forbidden). lediglich bei https://111.222.333.444/phpmyadmin soll der symlink verfolgt werden. so, nun soll es die subdomain secure.meinedomain.com geben, welche aber NUR über https angesprochen werden darf (https://secure.meinedomain.com). desweiteren sollen mehrere subdomains normal angesprochen werden dürfen (http://www.sub.meinedomain.com). die hauptdomain soll einen eigenen docroot bekommen ebenso wie jede einzelne subdomain auch. das wars eigendlich schon :) bei der aktuellen konfiguration (anhang unten) kommen jedoch einige fehlermeldungen:

https://secure.meinedomain.com
Fehler: https://secure.meinedomain.com hat eine falsche oder
unerwartete Nachricht gesendet. Fehler-Code: -12263

https://111.222.333.444
Fehler: Die Verbindung mit 111.222.333.444 wurde unerwartet abgebrochen. Ein Teil der Daten wurde eventuell übertragen.

http://111.222.333.444
Fehler: keiner :) einfach forbidden, aber so soll es ja auch sein

alles andere funktioniert (domain und subs via http aufrufen)

so, hier kommt nun die config:

Code: Select all

NameVirtualHost 111.222.333.444:80
NameVirtualHost 111.222.333.444:443

<VirtualHost 111.222.333.444:80>
   DocumentRoot /var/www
   <Directory /var/www/>
	   AllowOverride None
	   Options None
           Options +FollowSymLinks
    </Directory>
</VirtualHost>

<VirtualHost 111.222.333.444:443>
   DocumentRoot /var/www/secure
   <Directory /var/www/secure/>
	   AllowOverride None
	   Options None
	   Options +FollowSymLinks
    </Directory>
</VirtualHost>


<VirtualHost 111.222.333.444:80>

	ServerName  www.meinedomain.com:80
	ServerAlias meinedomain.com
	DocumentRoot /var/www/meinedomain_com/htdocs
	
</VirtualHost>

<VirtualHost 111.222.333.444:80>

    ServerName www.sub.meinedomain.com:80
    ServerAlias sub.meinedomain.com
    DocumentRoot /var/www/meinedomain_com/sub_sub/htdocs
    
</VirtualHost>

<VirtualHost 111.222.333.444:443>

    ServerName secure.meinedomain.com:443
    
    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl/apache.pem

    DocumentRoot /var/www/meinedomain_com/htdocs_secure
    
    php_admin_value include_path "/var/www/meinedomain_com/libs_secure"
    php_admin_flag safe_mode on
    
</VirtualHost>

so, ich hoffe, ich habe meinen fehler verständlich rübergebracht und hoffe auch, dass mir geholfen werden kann :)

vielen dank schonmal,
godmode (günther ;))
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

Re: http und https auf einem vhost

Post by Joe User »

Es ist nur ein HTTPS-VHost pro IP zulässig.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
godmode
Posts: 4
Joined: 2005-08-31 15:46
 

Re: http und https auf einem vhost

Post by godmode »

ok, das ist schonmal gut zu wissen.

ich habe nun folgenden teil aus der config entfehrnt:

Code: Select all

<VirtualHost 111.222.333.444:443>
   DocumentRoot /var/www/secure
   <Directory /var/www/secure/>
      AllowOverride None
      Options None
      Options +FollowSymLinks
    </Directory>
</VirtualHost>
warum kann ich denn nun https://111.222.333.444 ansprechen und lande im docroot von secure.meinedomain.com:443 ?!? kann ich es nicht erreichen, dass ich ein forbidden vorn latz bekomme, wenn ich nur die ip über https aufrufe?

danke schonmal
neffe
Posts: 25
Joined: 2002-08-14 17:44
Location: Berlin
Contact:
 

Re: http und https auf einem vhost

Post by neffe »

Hallo,

SSL Verbindungen sind grundsätzlich "IP basiert". Ein ServerName oder ServerAlias hat generell keine Bedeutung, da er nicht ausgewertet werden kann, da kannst du theoretisch auch Müll rein schreiben.

Der Client / Browser sendet verschlüsselte Daten an den Server, darauf hin muss der Server eine Entscheidung treffen für welchen vHost die Anfrage ist und welches SSL Zertifikat er benutzen kann.

Da die Daten aber verschlüsselt sind, kann er den Host Header zu dem Zeitpunkt nicht auswerten. Der Webserver kann nur auf Basis der Ziel IP Adresse und des Ports eine Entscheidung treffen, und wie auch bei "normalen" Verbindungen nimmt er den ersten vHost wo IP und Port paßt.

Für dein Vorhaben fällt mir akut nur eine Scriptseitige Lösung ein um einen Aufruf per IP Adresse zu verhindern.

Gruß Neffe
squize
Userprojekt
Userprojekt
Posts: 729
Joined: 2003-05-19 16:46
Location: Karlsruhe
Contact:
 

Re: http und https auf einem vhost

Post by squize »

Eine Möglichkeit ist über eine Rewriterule alles abzulehnen, was nicht die gewünschte Domain in der URL hat.

Gruss

Marc
Post Reply