2015-01-20 7 views
3

Я тяну свои волосы сюда.Apache игнорирует documentroot с несколькими доменами SSL

У меня Apache работает с двумя разными доменами, использующими SSL с использованием SNI.

Конфигурация ниже. Если подключиться к console.somedomain.com это ставит пользователей в/вар/WWW/HTML/вместо/вар/WWW/HTML/somedomain/Admin/adminv4/

Однако, если я подключаюсь к support1.somedomain. com, он отлично работает и находится в правильном каталоге.

Какая бы одна земля нелачала? Справочник действителен.

<VirtualHost *:443> 
DocumentRoot "/var/www/html/somedomain/Admin/adminv4/" 
ServerName console.somedomain.com 
SSLEngine On 
SSLProtocol all -SSLv2 
SSLCertificateFile /etc/httpd/ssl/console.somedomain.com/console.somedomain.com.crt 
SSLCertificateKeyFile /etc/httpd/ssl/console.somedomain.com/console.somedomain.com.key 
<Directory "/var/www/html/somedomain/Admin/adminv4/"> 
allow from all 
Options +Indexes 
</Directory> 
</VirtualHost> 
# 
# 
#NameVirtualHost support1.somedomain.com:443 
<VirtualHost *:443> 
DocumentRoot "/var/www/html/somedomain/" 
ServerName support1.somedomain.com 
SSLEngine on 
SSLProtocol all -SSLv2 
SSLCertificateFile /etc/httpd/ssl/support1_somedomain_com/support1.somedomain.com.crt 
SSLCertificateKeyFile /etc/httpd/ssl/support1_somedomain_com/support1.somedomain.com.key 
SSLCertificateChainFile /etc/httpd/ssl/support1_somedomain_com/latest.ca-bundle 
<Directory "/var/www/html/somedomain/"> 
allow from all 
Options +Indexes 
</Directory> 
</VirtualHost> 

ответ

3

Исправлено.

Оказывается, после этой команды:

apachectl -t -D DUMP_VHOSTS

*: 443 является NameVirtualHost сервера по умолчанию console.somedomain.com (/etc/httpd/conf.d/ssl. conf: 56) порт 443 имяvhost console.somedomain.com (/etc/httpd/conf.d/ssl.conf:56) порт 443 имяvhost console.somedomain.com (/etc/httpd/conf.d/ssl. conf: 56) порт 443 имяvhost console.somedomain.com (/etc/httpd/conf/httpd.conf:441) порт 443 имяvhost console.somedomain.com (/etc/httpd/conf/httpd.conf:441) порт 443 namevhost support1.somedomain.com (/etc/httpd/conf/httpd.conf:455) порт 443 namevhost support1.somedomain.com (/etc/httpd/conf/httpd.conf:455)

Показывается, что консоль была добавлена ​​в ssl.conf.

После просмотра SSL.conf имел только ssl по умолчанию.

Я тогда вспомнил, что моя реальная система имя хоста была console.somedomain.com

Итак, я удалил по умолчанию (я не хочу что-нибудь еще на SSL в любом случае. Только ВХосты я определить.)

Restarted апач и теперь он работает: apachectl -t -D DUMP_VHOSTS *: 443 это support1.somedomain.com сервер по умолчанию NameVirtualHost (/etc/httpd/conf/httpd.conf:444) порт 443 namevhost support1.somedomain. com (/etc/httpd/conf/httpd.conf:444) порт 443 namevhost suppor t1.somedomain.com (/etc/httpd/conf/httpd.conf:444) порт 443 имяvhost console.somedomain.com (/etc/httpd/conf/httpd.conf:458) порт 443 имяvhost console.somedomain. com (/etc/httpd/conf/httpd.conf:458)

+0

Хороший совет, у меня была та же проблема. благодаря! –