У меня есть 2 сайта, определенные в файле virtualhosts.conf, загруженном в конце httpd.conf.
Они оба имеют формат:
<VirtualHost IP:80>
DocumentRoot D:/Site/A/
...
</VirtualHost>
<VirtualHost IP:443>
DocumentRoot D:/Site/A/
...
</VirtualHost>
<VirtualHost IP__2:80>
DocumentRoot D:/Site/B/
...
</VirtualHost>
<VirtualHost IP__2:443>
DocumentRoot D:/Site/B/
...
</VirtualHost>
Если я загружаюhttps://sitea.com, с вышеуказанным конфигом, он загружается просто отлично.Если я загружу https://siteb.com с указанным выше конфигом, то он сломается, говоря, что siteb идентифицирует себя как sitea.Если я переверну порядок записей:
<VirtualHost IP__2:80>
DocumentRoot D:/Site/B/
...
</VirtualHost>
<VirtualHost IP__2:443>
DocumentRoot D:/Site/B/
...
</VirtualHost>
<VirtualHost IP:80>
DocumentRoot D:/Site/A/
...
</VirtualHost>
<VirtualHost IP:443>
DocumentRoot D:/Site/A/
...
</VirtualHost>
Теперь, siteb загружается просто отлично, но sitea выдает ошибку, что он идентифицирует себя как siteb.
Что происходит?Похоже, что Apache по умолчанию использует «top» запись в файле, хотя оба они кажутся действительными для своих доменов, если они первые.
EDIT: Верхмой httpd.conf:
Listen 80
Listen 443
NameVirtualHost IP.50:80
NameVirtualHost IP.50:443
NameVirtualHost IP.51:80
NameVirtualHost IP.51:443
NameVirtualHost IP.52:80
NameVirtualHost IP.52:443
NameVirtualHost IP.53:80
NameVirtualHost IP.53:443
NameVirtualHost IP.54:80
NameVirtualHost IP.54:443
NameVirtualHost IP.55:80
NameVirtualHost IP.55:443
NameVirtualHost IP.56:80
NameVirtualHost IP.56:443