Как правильно настроить виртуальный хост, работающий на Apache? - PullRequest
0 голосов
/ 18 сентября 2018

Я настроил apache в Ubuntu 16.04 и создал виртуальный хост со следующими инструкциями:

<Directory /var/www/html/example.com/public_html>
        Require all granted
</Directory>
<VirtualHost *:80>
        ServerName example.com
        ServerAlias www.example.com
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html/example.com/public_html

        ErrorLog /var/www/html/example.com/logs/error.log
        CustomLog /var/www/html/example.com/logs/access.log combined

</VirtualHost>

, когда я пытаюсь открыть страницу www.example.com в своем браузере, я вижу это сообщение:

This domain is established to be used for illustrative examples in documents. You may use this domain in examples without prior coordination or asking for permission.

Должен ли я использовать другое имя вместо «пример» для решения проблемы?

Хорошо, какое имя?Например, "myname.com"

Для ясности это нужно только для локальных тестов

1 Ответ

0 голосов
/ 25 сентября 2018

www.example.com - это настоящий веб-сайт, который принадлежит кому-то другому, он зарегистрирован в DNS и имеет некоторый контент.Когда вы открываете адрес в браузере, ваш компьютер сначала запрашивает DNS-сервер (предположительно, одна настройка вашего интернет-провайдера).Затем DNS отвечает, что www.example.com работает на 93.184.216.34 - что, вероятно, не ваша машина.Вот откуда пришло сообщение.

Теперь, что тогда означают ServerName и ServerAlias?Это действительно директива для вашего веб-сервера, работающего на вашей машине, знать, какие пакеты предназначены для данного виртуального хоста.Это не влияет на то, как ваш браузер будет транслировать их.

Для локального тестирования (и сервер, и браузер работают в одной и той же ОС) все, что вам нужно сделать, - это создать виртуальный хост для «локального хоста».Это зарезервированный адрес для машины, которая используется в данный момент.Просто введите:

    ServerName localhost
    ServerAlias localhost

на ваш виртуальный хост, и вы сможете получить доступ к веб-серверу, введя localhost в ваш браузер.

В случае, если вам потребуется более одного хоста локально,Вы можете переопределить DNS, отредактировав файл хоста https://en.wikipedia.org/wiki/Hosts_(file) - например, в Windows, добавив записи хостов, такие как:

    127.0.0.1 app.local
    127.0.0.1 db.local

, а затем создав два разных виртуальных хоста, один с приложением псевдонимов.местный, второй с db.local.Затем ОС будет правильно направлять запросы от вашего браузера на ваш компьютер для каждого файла hosts.Ваш веб-сервер затем отсортирует ваш запрос в соответствии с заголовком к соответствующему виртуальному хосту.

Возможно, вы захотите проверить некоторые общие сведения о том, как работает DNS и интернет-протокол:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...