2ter Virtual host leitet auf ersten.

chillah

New Member
Hallo zusammen...

Ich habe auf meinem Server apache mit Nginx laufen und soweit läuft auch alles.

Jetzt wollte ich einen zweiten Virtualhost anlegen doch dieser leitet auf die erste domain sobald man versucht via Domain auf die Seite zu kommen.

Meine Apache VH conf:

Code:
NameVirtualHost *:80

<VirtualHost *:80>
        ServerName www.domain2.org
        DocumentRoot /var/www/domain2.org/
        DirectoryIndex index.htm index.html index.php
</VirtualHost>

Nginx

Code:
server {
    listen 80;
    server_name www.domain2.org;
    root /var/www/domain2.org;

    location ~* ^.+\.(jpe?g|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf|avi|mp3)$ {
    	expires max;
    }

    location / {
        proxy_pass http://127.0.0.1:8080;
    }
}

DNS hab ich einfach auf die IP geleitet mit Type a. Einmal mit www und einmal ohne.

Wenn ich per www.domain2.org auf die seite gehe funktioniert es... Ohne www komme ich auf Domain 1.

Apache und Nginx wurde restartet.
 
Du musst als ServerName zusätzlich die Domain ohne www eintragen.
 
Bezüglich nginx stimmt das so. Bei Apache musst du zusätzliche Domains per ServerAlias bestimmen.
 
Ich schätze 'mal, du verwendest nginx als reverse Proxy. Setzt du auch deinen Host:-Header in der nginx korrekt?
Soweit ich das im Kopf hab müsste dieser so aussehen:
proxy_set_header Host $http_host;
 
Danke für eure Hilfe. Habe es mit dem Serveralias hinbekommen.

Einfach bei beiden Domains noch Serveralias eingetragen und es hat funktioniert.

Kann also geclosed werden.

Danke für eure Hilfe.
 
Du schickst den Request auf Port 80 per Proxy (nginx) auf Port 8080 des Apache weiter, lässt den VirtualHost des Apache aber nicht auf Port 8080 lauschen? Das kann so nicht funktionieren...
 
Es funktioniert aber soweit alles?

Ist somit nginx momentan nutzlos?

Ist es "richtiger" wenn ich bei der Apache einstellung folgendes mache:

NameVirtualHost *:8080

<VirtualHost *:8080>
ServerName www.domain2.org
ServerAlias www.domain2.org
DocumentRoot /var/www/www.domain2.org/
DirectoryIndex index.htm index.html index.php
</VirtualHost>
 
Last edited by a moderator:
Jap und auch "Listen 8080" anstelle von "Listen 80" setzen.
 
Habe ich bei domain2 getan nun lande ich aber wenn ich diese aufrufen will auf domain1 ?

Läuft nginx?
Code:
/etc/init.d/nginx status
Auf was hört Apache2 bzw. ist eingestellt?
Code:
cd /etc/apache2 && grep -Hir ':80' .
 
1.

nginx is running.

2.

4E6:~# cd /etc/apache2 && grep -Hir ':80' .
./sites-enabled/domain2.org:NameVirtualHost *:80
./sites-enabled/domain2.org:<VirtualHost *:80>
./sites-enabled/domain1.org:NameVirtualHost *:80
./sites-enabled/domain1.orgz:<VirtualHost *:80>
./sites-available/default:<VirtualHost 127.0.0.1:80>
./ports.conf:NameVirtualHost 127.0.0.1:80
./ports.conf:Listen 127.0.0.1:80
 
In /etc/apache2 musst du nun alle gefundenen 80er Ports auf 8080 umschreiben, damit nginx Sinn macht.
Danach apache2 und nginx neustarten und etwaige Fehler/Infomeldungen hier posten.
 
Alles soweit geändert. Bekomme dann auf beiden Domains 502...

./sites-enabled/domain2.org:NameVirtualHost *:8080
./sites-enabled/domain2.org:<VirtualHost *:8080>
./sites-enabled/domain1.org:NameVirtualHost *:8080
./sites-enabled/domain1.org:<VirtualHost *:8080>
./sites-available/default:<VirtualHost 127.0.0.1:8080> ./ports.conf:NameVirtualHost 127.0.0.1:8080
./ports.conf:Listen 127.0.0.1:8080
 
Code:
./ports.conf:NameVirtualHost 127.0.0.1:8080
Hier sollte *:8080 als Eintrag stehen.
 
502 Bad Gateway

Auch nachdem ich
NameVirtualHost 127.0.0.1:80

zu

*:8080 geändert hatte...

Die ports config momentan:

NameVirtualHost 127.0.0.1:80
Listen 127.0.0.1:80

<IfModule mod_ssl.c>
# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to <VirtualHost *:443>
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
Listen 443
</IfModule>

<IfModule mod_gnutls.c>
Listen 443
</IfModule>
 
Back
Top