Zwei Domains auf https umleiten

Alles, was den Apache betrifft, kann hier besprochen werden.

Zwei Domains auf https umleiten

Postby xampp112 » 12. June 2009 09:04

Hallo,

ich hoste auf einem Server zwei Domains. Beide sind mittels eigener IP auf einem Server gehostet und beide per 443 derzeit erreichbar.

Der Server hört auf die IP1:443 und IP2:443. Zu jeder IP ist dann ein VirtualHost konfiguriert.

NameVirtualHost IP1:443
<VirtualHost IP1:443>
DocumentRoot "D:/xampp/htdocs/web/seite1"
.
.
.
Der VH-Container zur Seite 2 ist dann identisch aufgebaut mit der zweiten IP.

Was ich nun möchte ist, dass die Webseite 1 und 2 ebenfalls über den http erreichbar sind und dann per redirect auf https umgeleitet wird.
Ich habe schon alles mögliche versucht, allerdings erfolglos.

Letzter Versuch war:

In der httpd.conf -> Listen 80
Rewrite Module eingeschaltet

RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{SERVER_NAME}%{REQUEST_URI}

Leider bekomme ich damit immer einen Error 403. Im Logfile steht: [client 192.168.110.1] client denied by server configuration: D:/apache

Kann mir jemand weiterhelfen?
xampp112
 
Posts: 16
Joined: 12. January 2009 11:32

Re: Zwei Domains auf https umleiten

Postby Wiedmann » 12. June 2009 09:24

Code: Select all
NameVirtualHost IP1:443

Das solltest du jeweils weglassen:
Für SSL willst du ja IP basierende VHosts haben (deswegen ja auch deine 2 IPs).

Letzter Versuch war:

http://wiki.apache.org/httpd/RewriteSSL
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Zwei Domains auf https umleiten

Postby xampp112 » 12. June 2009 11:37

Wiedmann wrote:
Code: Select all
NameVirtualHost IP1:443

Das solltest du jeweils weglassen:
Für SSL willst du ja IP basierende VHosts haben (deswegen ja auch deine 2 IPs).

Habe ich herausgenommen, danke





Beide Möglichkeiten ausprobiert, aber irgendwie weiss ich nicht ob es in den SSL Container der jeweiligen IP, also des jeweiligen Hosts muss oder als
global gültige Anweisung in die httpd.conf. Der Effekt ist jedenfalls immer [client 192.168.110.1] client denied by server configuration: D:/apache, wobei
dann 192.168.110.1 meine lokale IP ist.
xampp112
 
Posts: 16
Joined: 12. January 2009 11:32

Re: Zwei Domains auf https umleiten

Postby Wiedmann » 12. June 2009 12:26

aber irgendwie weiss ich nicht ob es in den SSL Container der jeweiligen IP, also des jeweiligen Hosts muss

Dahin nicht.
--> Directiven die da drin stehen, werden ja er wirksam wenn der Client dann dort ist (nach der Umleitung).

oder als global gültige Anweisung in die httpd.conf.

Sofern mann das erste Beispiel von der Seite nimmt: Ja, dorthin.

Der Effekt ist jedenfalls immer [client 192.168.110.1] client denied by server configuration: D:/apache,

Dein Hauptserver wird kein korrekt konfiguriertes DocumentRoot haben.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Zwei Domains auf https umleiten

Postby xampp112 » 12. June 2009 12:47

Jau, das war's. Da hatte sich doch ein "#" zuviel eingeschlichen.

Mit der Anweisung listen 80 und :

Code: Select all
RewriteEngine On
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L]


funktioniert es.

Ich habe festgestellt, dass in der httpd.conf zweimal derselbe <directory> container aufgeführt ist. Einmal als Document Root und einmal als
Verzeichnis aus dem die Webdateien gehostet werden. Das Document Root ist sehr restriktiv:

Code: Select all
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>


In dem Document Root hingegen werden einige Sachen erlaubt und es ist auch das ReWrite wie oben gepostet implementiert.
Ist das so okay oder eine Sicherheitslücke die ich mir damit aufgetan habe?

Müsste ich bspw. das Dokument Root auf d:\xampp\htdocs\web setzen -> sehr restriktiv
und die einzelnen Webseiten -> d:\xampp\htdocs\web\hp1 -> rechte im Ordner
d:\xampp\htdocs\web\hp2 -> rechte im Ordner


Danke
xampp112
 
Posts: 16
Joined: 12. January 2009 11:32

Re: Zwei Domains auf https umleiten

Postby Wiedmann » 12. June 2009 12:58

Das Document Root ist sehr restriktiv:
Code: Select all
<Directory />

Das dürfte nicht der Directory-Block für's DocumentRoot sein. (oder sollte es zumindest nicht.)
Ansonsten lässt man diesen speziellen Block wie er ist.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Zwei Domains auf https umleiten

Postby xampp112 » 12. June 2009 13:07

Nun ich habe lediglich im Document Root den Pfad angepasst.

Um es zu verdeutliche poste ich einmal die beiden Passagen aus der httpd.conf

Teil1 unter Document Root
Code: Select all
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "D:/xampp/htdocs/web"

#
# Each directory to which Apache has access can be configured with respect
# to which services and features are allowed and/or disabled in that
# directory (and its subdirectories).
#
# First, we configure the "default" to be a very restrictive set of
# features. 
#
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

#
# Note that from this point forward you must specifically allow
# particular features to be enabled - so if something's not working as
# you might expect, make sure that you have specifically enabled it
# below.
#



Teil 2 direkt unterhalb das Verzeichnis für die erste Webseite... in diesem Fall liegen beide Seiten im Verzeichnis /web jeweils in einem Unterverzeichnis /web/hp1 und /web/hp2


Code: Select all
# This should be changed to whatever you set DocumentRoot to.

<Directory "D:/xampp/htdocs/web/>
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.2/mod/core.html#options
    # for more information.
    #
    Options -Indexes FollowSymLinks Includes ExecCGI
   

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride All

    #
    # Controls who can get stuff from this server.
    #
    #order allow,deny
    Allow from all
   RewriteEngine On
   RewriteCond %{HTTPS} !=on [NC]
   RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L]
   
</Directory>



Mich wunderte eben nur, dass zweimal dasselbe Verzeichnis aufgeführt wird mit unterschiedlichen Rechten, daher die Frage ob das so korrekt ist?
xampp112
 
Posts: 16
Joined: 12. January 2009 11:32

Re: Zwei Domains auf https umleiten

Postby Wiedmann » 12. June 2009 14:20

Mich wunderte eben nur, dass zweimal dasselbe Verzeichnis aufgeführt wird

Ich seh' nirgends 2x das selbe Verzeichnis.

Die Rules würde ich auch außerhalb des Directory-Block hintun.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Zwei Domains auf https umleiten

Postby xampp112 » 15. June 2009 22:31

Ups... jetzt versteh ichs glaube ich.

Die Zeile Document Root hat nichts mit dem <Directory /> zu tun.

Dann ist das <Directory /> sozusagen die Standardregel für die Verzeichnisse und in meinem Fall
hat das Verzeichnis /web eben einen eigenen Regelcontainer.

Aus diesem habe ich die Redirects dann auch herausgenommen.
xampp112
 
Posts: 16
Joined: 12. January 2009 11:32


Return to Apache

Who is online

Users browsing this forum: No registered users and 22 guests