Próbuję hostować dwie strony internetowe za pomocą Apache z tego samego serwera Ubuntu. Mam jeden adres IP i mam tylko jedną domenę (która rozwiązuje adres IP). Tak więc chcę, aby żądania dotyczące nazwy domeny podawały jedną stronę, i żąda adresu IP, aby podać drugą.Obsługa dwóch stron internetowych z Apache z jedną nazwą domeny i pojedynczym adresem IP
Mam dowiązania symboliczne w/etc/apache2/sites-enabled do dwóch plików, wskazując na konfigurację dla moich dwóch witryn.
Jeden zawiera:
<VirtualHost 1.2.3.4:80>
ServerName 1.2.3.4
stuff
</VirtualHost>
natomiast druga zawiera
<VirtualHost domain.net:80>
ServerName domain.net
stuff
</VirtualHost>
Jednak, kiedy zaczynają Apache, pojawia się następujący komunikat:
[warn] VirtualHost 1.2.3.4:80 overlaps with VirtualHost domain.net:80, the first has precedence, perhaps you need a NameVirtualHost directive
i kiedy momencie mój przeglądarka na stronie domain.net lub 1.2.3.4 Otrzymuję witrynę, którą chcę skojarzyć z adresem IP.
Jeśli usuniemy dowiązanie symboliczne, to wskazanie przeglądarki pod nazwą domeny lub adresem IP będzie jedyną aktywną witryną. (Jak można mieć nadzieję.)
Jak rozumiem, oba pliki konfiguracyjne w witrynach obsługujących są ładowane jednocześnie, a ten zawierający adres IP atakuje ten, który zawiera nazwę domeny. Ostrzeżenie sugeruje, patrząc na dyrektywę NameVirtualHost, ale cała pomoc, którą mogę znaleźć w Internecie, odnosi się do przypadków, w których masz dwie nazwy domen wskazujące na ten sam adres IP.
Jak zawsze, bardzo cenna byłaby pomoc lub porada.
(Na co warto, strony internetowe są zarówno Rails aplikacji, a ja wdrażania przy użyciu pasażera, ale nie sądzę, że ważne jest tutaj).
FYI, pytania takie jak te są najlepiej służył na serverfault.com –