Apache2 vhosty nie odpowiadają na dyrektywę ServerName

1

Mam instancję apache działającą na squeeze Debiana, z zdefiniowanymi dwoma hostami wirtualnymi (w tym przekierowanie z portu 80 do portu 443. Istnieją dwa Vhosty nasłuchujące na porcie 80, a jeden z nazwanych vhostów przekierowuje do portu 443.

Co się dzieje: odwiedzić http://aspen.findyourtrees.net i otrzymasz oczekiwany niedokończony szablon WordPress dla strony www

odwiedzić https://qat.quoteatree.com i oczekiwać, że zobaczysz formularz logowania dla zabezpieczonej aplikacji internetowej ... ale zamiast tego przeglądarka zwróci błąd serwera, który nie odpowiada. (zwróć uwagę na http s schemat)

odwiedzić https://aspen.findyourtrees.net i widzę formularz logowania, którego oczekuję https://qat.quoteatree.com (zwróć uwagę na http s schemat)

Nie mogę przez całe życie rozwiązać problemu z konfiguracją, który uniemożliwia serwerowi odpowiadanie na zapytania do qat.quoteatree.com

Więc to jest moja konfiguracja apache (wersja serwera: Apache / 2.2.16 (Debian))

aspen:/etc/apache2# cat ports.conf
#This file generated via template by Chef.
Listen 80
NameVirtualHost *:80

Listen 443
NameVirtualHost *:443


aspen:/etc/apache2# cat ./sites-enabled/wordpress.conf
<VirtualHost *:80>
  ServerName aspen.findyourtrees.net
  ServerAlias www.quoteatree.com

  DocumentRoot /var/www/wordpress

  <Directory /var/www/wordpress>
    ...
  </Directory>

  <Directory />
    ...
  </Directory>

  RewriteEngine On
</VirtualHost>


aspen:/etc/apache2# cat ./sites-enabled.qat.conf
<Proxy *>
Order allow,deny
Allow from all
</Proxy>

<VirtualHost *:80>
ServerName qat.quoteatree.com
Redirect / https://qat.quoteatree.com:443/
</VirtualHost>

<VirtualHost *:443 %>
ServerName  qat.quoteatree.com
ServerAdmin [email protected]

SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLCertificateKeyFile /etc/apache2/ssl/apache.key

ProxyPass / http://localhost:8080/ 
ProxyPassReverse / http://localhost:8080/
</VirtualHost>

zrzut tego, co apasz myśli, że vhosty są:

 aspen:/etc/apache2# apachectl -t -D DUMP_VHOSTS
 [Mon Dec 19 23:44:03 2011] [error] (EAI 2)Name or service not known: Could not resolve    
 host name % -- ignoring!
 VirtualHost configuration:
 wildcard NameVirtualHosts and _default_ servers:
 *:443                  is a NameVirtualHost
     default server qat.quoteatree.com (/etc/apache2/sites-enabled/qat.conf:11)
     port 443 namevhost qat.quoteatree.com (/etc/apache2/sites-enabled/qat.conf:11)
 *:80                   is a NameVirtualHost
     default server qat.quoteatree.com (/etc/apache2/sites-enabled/qat.conf:6)
     port 80 namevhost qat.quoteatree.com (/etc/apache2/sites-enabled/qat.conf:6)
     port 80 namevhost aspen.findyourtrees.net (/etc/apache2/sites-enabled/wordpress.conf:1)
Syntax OK
lhagemann
źródło
1
Co z tym % na definicji dyrektywy VirtualHost?
Garrett
@gman --- to świetne pytanie, zakładając, że masz na myśli komunikat z wyjścia DUMP_VHOSTS. Jak widać w moich konfiguracjach hosta, nic nie wyjaśnia tego. Nie mogę znaleźć niczego, co by to odwoływało się lub wyjaśniało. Mam skonfigurowany serwer testowy (z różnymi domenami), a pliki conf są dokładnie takie same (z wyjątkiem nazw domen) i pojawia się tam również komunikat „% host name”. Ale ta konfiguracja działa.
lhagemann
Nie, faktycznie masz taki w cytowanym ports.conf plik. <VirtualHost *:443 %>
Garrett
och, dziękuję, nie widziałem tego. (problem polegał na tym, że miałem coś w sobie /etc/hosts plik, który był nadrzędny dns. To sprawia, że ​​czuję się naprawdę głupio.
lhagemann

Odpowiedzi:

0

To kłopotliwe, ale problem tkwił w moim /etc/hosts plik cały czas.

lhagemann
źródło