Я пытаюсь разместить два веб-сайта с использованием Apache с одного и того же сервера Ubuntu. У меня есть один IP-адрес, и у меня есть только один домен (который разрешается в IP-адрес). Поэтому я хочу, чтобы запросы к доменному имени давали один сайт, а запросы по ip-адресу давали другой.
У меня есть символические ссылки в / etc / apache2 / sites-enabled на два файла, указывающие на конфигурацию для моих двух сайтов.
Один содержит:
<VirtualHost 1.2.3.4:80>
ServerName 1.2.3.4
stuff
</VirtualHost>
, в то время как другой содержит
<VirtualHost domain.net:80>
ServerName domain.net
stuff
</VirtualHost>
Однако, когда я запускаю Apache, я получаю следующее сообщение:
[warn] VirtualHost 1.2.3.4:80 overlaps with VirtualHost domain.net:80, the first has precedence, perhaps you need a NameVirtualHost directive
и когда я указываю свой браузер на domain.net или 1.2.3.4, я получаю сайт, который хочу связать с IP-адресом.
Если я удаляю любую символическую ссылку, то указание браузера на доменное имя или IP-адрес дает единственный включенный веб-сайт. (Как и следовало надеяться.)
Насколько я понимаю, оба файла конфигурации на сайтах с включенной загрузкой загружаются одновременно, и тот, который содержит IP-адрес, превосходит тот, который содержит доменное имя. Предупреждение предлагает обратиться к директиве NameVirtualHost, но вся помощь, которую я могу найти в Интернете, относится к случаям, когда у вас есть два доменных имени, указывающих на один и тот же IP-адрес.
Как всегда, и помощь или совет будет высоко ценится.
(Судя по всему, оба веб-сайта являются приложениями Rails, и я использую Passenger, но я не думаю, что это важно здесь.)