Страница индекса Apache 2.4.10 VirtualHost не отображается

Чтобы увидеть мое описание моей проблемы напрямую, см. Часть Задача .

Контекст:

Запуск XUbuntu 14.10 и Apache 2.4.10.

Я довольно новичок в Apache, поэтому я пытаюсь настроить простой VH ... с некоторым успехом, но у меня все еще есть проблема. Я прочитал документы и не могу найти, что не так с моей конфигурации. Я хотел бы настроить два виртуальных хоста: myname.com и penguin.com .

Конфигурация

Вот краткое описание (не полное) моей текущей конфигурации.

/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/myname.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>

Оба виртуальных хоста были включены, как описано в документации Apache, используя a2ensite. Апач был перезапущен с /etc/init.d/apache2 graceful. В /var/www/html/penguin и /var/www/html/myname я создал простые index.html файлы, чтобы проверить, нахожусь ли я на виртуальном хосте или нет.

Наконец, я изменил /etc/hosts, чтобы он содержал:

127.0.0.1       localhost
127.0.0.2       myname.com
127.0.0.3       penguin.com

Для проверки конфигурации я запускаю apachectl -S и вижу:

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)

Проблема

Теперь, когда у меня настроены два виртуальных хоста, я пытаюсь получить к ним доступ. Когда я пытаюсь получить доступ к penguin.com в моем браузере (Firefox), я вижу /var/www/html/index.html вместо /var/www/html/penguin/index.html. Я должен явно написать penguin.com/index.html, чтобы увидеть правильную страницу указателя.

Но когда я получаю доступ к myname.com, правильный индекс обслуживается!?

Более того, когда я захожу на эти сайты с помощью Chrome, эта проблема не возникает, и я вижу нужную страницу индекса напрямую.

Есть ли проблема с моим конфигом Apache? Или вы думаете, что он связан только с Firefox (может быть, он неправильно читает /etc/hosts)?

РЕДАКТИРОВАТЬ

Просто забыл упомянуть, что при доступе к странице через IP (127.0.0.2/3) у меня возникает та же проблема в Firefox (работает только 127.0.0.2) ). [+1146]

С wget я получаю файлы, как и ожидалось. Поэтому я думаю, что это может быть связано с браузерами, а не с настройками Apache.

EDIT2

Чтобы «решить» проблему, я заменил адреса обратной связи в / etc / hosts на мой локальный IP-адрес. Кроме того, я заменил объявление VirtualHost на <VirtualHost *:80> в обоих файлах. Теперь работает нормально!

Я все еще удивляюсь, почему Firefox не может получить правильный индекс, хотя ему предоставляется полный IP-адрес обратной связи.

Извините за длинный пост!

Спасибо

0
задан 7 October 2015 в 13:50

1 ответ

В этом случае Firefox проверит Ваш/etc/hosts как последнюю возможность для разрешения имени.

Вы можете попробовать эту работу.

  1. Открытый Firefox и входят about:config в URL.
  2. Поиск keyword.enabled и набор это к Ложному.
  3. Удостоверяются в/etc/nsswitch.conf, hosts вход, имеющий files как первый вариант.
0
ответ дан 7 October 2015 в 23:50

Другие вопросы по тегам:

Похожие вопросы: