Назад | Перейти на главную страницу

Тестирование конфигурации vhost

Я боролся за то, чтобы конфигурация vhost работала на внутреннем сервере разработки на работе. Я нашел другие конфигурации виртуальных хостов в доступном для сайта каталоге. По какой-то причине я не понимаю, почему мой новый виртуальный хост не отвечает ни на какие запросы. Все, что я получаю, - это заявление 404. Это не общедоступный сервер, поэтому я не уверен, связано ли это с этим. Также, если я намеренно добавляю синтаксическую ошибку в свою конфигурацию ... apache кричит на меня, поэтому я знаю, что он действительно загружается. Я несколько раз перезапускал сервер apache. Я не знаю, связано ли это с именем сервера. Я просто хочу ввести 192.168.254.35/rackapp, и apache поместит меня в выбранный мной DocumentRoot. В настоящее время я могу использовать 192.168..254.35 / rack_example / public.

Это то, что я пытаюсь загрузить

<VirtualHost *>
    ServerName rackapp
    ServerAdmin atomphson@abc.com

    DocumentRoot /var/www/rack_example/
</VirtualHost>

Этот конфиг работает без проблем

<VirtualHost *>
    ServerName collab
    ServerAdmin ason@abc.com

    DocumentRoot /var/www/collab/

    ErrorLog /var/log/apache2/colab-error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/collab-access.log combined

</VirtualHost>

Apache использует имя хоста, которое вы вводите в браузере, для выбора правильного виртуального хоста. Если вы используете IP-адрес, он выберет первый доступный виртуальный хост.

Чтобы проверить свои виртуальные хосты, вы должны обращаться к ним по имени. Для этого вы можете отредактировать файл hosts /etc/hosts и добавьте эти две строки:

192.168.254.35 rackapp
192.168.254.35 collab

%SystemRoot%\system32\drivers\etc\hosts для систем Windows.

Тогда вы сможете получить доступ http://rackapp/ или http://collab/ и протестируйте свою конфигурацию Apache.

Вы также можете немного поиграть и напрямую отправить HTTP-заголовок на свой веб-сервер:

$ echo -e "GET / HTTP/1.1\r\nHost: rackapp\r\n\r\n" | nc 192.168.254.35 80

Вы путаете здесь имя сервера и URL.

Если ты хочешь иметь 192.168.25.35/rackapp быть URL-адресом для сервера, тогда имя сервера VirtualHost должно быть 192.168.25.35 вместо того rackapp. С имеющейся у вас настройкой вам необходимо подключиться к серверу, используя http://rackapp вместо этого, и это даст вам корень документа, который вы настроили для виртуального хоста.

Если вы пытаетесь подключиться к http://rackapp дает вам "Сервер не найден", тогда вам нужно отредактировать файл / etc / hosts, чтобы он содержал строку

19.168.25.35 rackapp