Apache 2.4.10 VirtualHost-Indexseite wird nicht angezeigt

Apache 2.4.10 VirtualHost-Indexseite wird nicht angezeigt

Um meine Beschreibung meines Problems direkt zu sehen, siehe dieProblemTeil.

Kontext:

XUbuntu 14.10 und Apache 2.4.10 werden ausgeführt.

Ich bin ziemlich neu bei Apache, also versuche ich, einen einfachen virtuellen Host einzurichten ... mit einigem Erfolg, aber ich habe immer noch ein Problem. Ich habe die Dokumentation gelesen und kann nicht finden, was mit meiner Konfiguration nicht stimmt. Ich möchte zwei virtuelle Hosts konfigurieren:meinname.comUndwww.penguin.com.

Aufbau

Hier ist eine kurze Beschreibung (nicht erschöpfend) meiner aktuellen Konfiguration.

/etc/apache2/apache2.conf

<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

<Directory /var/www/>
        Options +Indexes 
        Options FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>


<Directory /var/www/html/flashlight/>
        AllowOverride All
</Directory>

<FilesMatch "^\.ht">
        Require all denied
</FilesMatch>

# Include generic snippets of statements
IncludeOptional conf-enabled/*.conf

# Include the virtual host configurations:
IncludeOptional sites-enabled/*.conf

/etc/apache2/sites-enabled/000-default.conf

<VirtualHost *:80>
    ServerName www.example.com
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    <Directory /var/www/>
        AuthName "Mon domaine"
        AuthType Basic
        AuthUserFile /etc/apache2/users.passwd
        Options +Indexes 
        Options FollowSymLinks
        AllowOverride None
        Require valid-user
    </Directory>
</VirtualHost>

/etc/apache2/sites-enabled/meinname.conf

<VirtualHost 127.0.0.2:80>
    ServerName myname.com
    ServerAlias www.myname.com
    DocumentRoot /var/www/html/myname

    <Directory /var/www/html/myname>
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

/etc/apache2/sites-enabled/penguin.conf

<VirtualHost 127.0.0.3:80>
    ServerName penguin.com
    ServerAlias www.penguin.com
    DocumentRoot /var/www/html/penguin

    <Directory /var/www/html/penguin>
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Beide virtuellen Hosts wurden wie in der Apache-Dokumentation beschrieben mit aktiviert a2ensite. Apache wurde mit neu gestartet /etc/init.d/apache2 graceful. In /var/www/html/penguinund /var/www/html/mynameich habe einfache index.htmlDateien erstellt, um zu überprüfen, ob ich mich auf einem virtuellen Host befinde oder nicht.

Schließlich habe ich Folgendes geändert, /etc/hostsum Folgendes einzuschließen:

127.0.0.1       localhost
127.0.0.2       myname.com
127.0.0.3       penguin.com

Um die Konfiguration zu überprüfen, führe ich aus apachectl -Sund kann Folgendes sehen:

VirtualHost configuration:
127.0.0.3:80           penguin.com (/etc/apache2/sites-enabled/penguin.conf:1)
127.0.0.2:80           myname.com (/etc/apache2/sites-enabled/myname.conf:1)
*:80                   www.example.com (/etc/apache2/sites-enabled/000-default.conf:1)

Problem

penguin.comNachdem ich nun zwei virtuelle Hosts konfiguriert habe, versuche ich, auf sie zuzugreifen. Wenn ich versuche , in meinem Browser (Firefox) darauf zuzugreifen , wird /var/www/html/index.html anstelle von angezeigt /var/www/html/penguin/index.html. Ich muss explizit schreiben, penguin.com/index.htmlum die richtige Indexseite anzuzeigen.

Aber wenn ich zugreife myname.com, wird der richtige Index bereitgestellt!?

Wenn ich diese Sites mit Chrome aufrufe, tritt dieses Problem außerdem nicht auf und ich sehe direkt die richtige Indexseite.

Gibt es ein Problem mit meiner Apache-Konfiguration? Oder glauben Sie, dass es nur mit Firefox zusammenhängt (vielleicht liest es nicht /etc/hostsrichtig)?

BEARBEITEN

Ich habe nur vergessen zu erwähnen, dass ich beim Zugriff auf die Seite über die IP (127.0.0.2/3) das gleiche Problem in Firefox habe (nur 127.0.0.2 funktioniert).

Mit wgetbekomme ich die Dateien wie erwartet. Ich vermute also, dass es an den Browsern und nicht an der Apache-Konfiguration liegt.

BEARBEITEN2

Um das Problem zu „lösen“, habe ich die Loopback-Adressen in /etc/hosts durch meine lokale IP-Adresse ersetzt. Außerdem habe ich die VirtualHost-Deklaration <VirtualHost *:80>in beiden Dateien durch ersetzt. Funktioniert jetzt einwandfrei!

Ich frage mich immer noch, warum Firefox bei Angabe der vollständigen Loopback-IP-Adresse nicht den richtigen Index abrufen konnte.

Entschuldigen Sie den langen Beitrag!

Danke

Antwort1

In diesem Fall überprüft Firefox als letzte Option zur Namensauflösung Ihre /etc/hosts.

Sie können diesen Workaround ausprobieren.

  1. Öffnen Sie Firefox und geben Sie about:configdie URL ein.
  2. Suchen Sie keyword.enabledund setzen Sie es auf „False“.
  3. Stellen Sie sicher, dass in /etc/nsswitch.conf hostsder Eintrag filesdie erste Option ist.

verwandte Informationen