У меня есть 2 сайта, определенные в файле virtualhosts.conf, загруженном в конец httpd.conf.Apache - множественный SSL-выпуск
Они оба имеют формат:
<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 по умолчанию использует «верхнюю» запись в файле, хотя оба они кажутся действительными для своих доменов, если они первыми.
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
У нас, к сожалению, есть выделенный IP-адрес для каждого домена, я отредактирую свой вопрос и приведу пример. И жаль, что это немного не по теме. – Josh
В любом из моих VirtualHosts не было ни одной записи ServerName, добавив те, которые были исправлены. Это разрешено, если мода хочет удалить это. – Josh