简体   繁体   English

Apache忽略具有多个SSL域的documentroot

[英]Apache ignoring documentroot with multiple SSL domains

I am pulling my hair out here. 我把头发拉到这里。

I have Apache running with two different domains running SSL using SNI. 我让Apache运行两个使用SNI运行SSL的不同域。

The config is below. 配置如下。 If I connect to console.somedomain.com it puts users in /var/www/html/ rather than /var/www/html/somedomain/Admin/adminv4/ 如果我连接到console.somedomain.com,它将用户放在/ var / www / html /而不是/ var / www / html / somedomain / Admin / adminv4 /

However, If I connect to support1.somedomain.com , it works fine and are in the correct directory. 但是,如果我连接到support1.somedomain.com,它工作正常,并在正确的目录中。

What one earth could be wrong here? 一个地球可能错在哪里? The directory is valid. 该目录有效。

<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>

Fixed it. 固定它。

Turns out after this command: 在这个命令之后结果:

apachectl -t -D DUMP_VHOSTS apachectl -t -D DUMP_VHOSTS

*:443 is a NameVirtualHost default server console.somedomain.com (/etc/httpd/conf.d/ssl.conf:56) port 443 namevhost console.somedomain.com (/etc/httpd/conf.d/ssl.conf:56) port 443 namevhost console.somedomain.com (/etc/httpd/conf.d/ssl.conf:56) port 443 namevhost console.somedomain.com (/etc/httpd/conf/httpd.conf:441) port 443 namevhost console.somedomain.com (/etc/httpd/conf/httpd.conf:441) port 443 namevhost support1.somedomain.com (/etc/httpd/conf/httpd.conf:455) port 443 namevhost support1.somedomain.com (/etc/httpd/conf/httpd.conf:455) *:443是NameVirtualHost默认服务器console.somedomain.com(/etc/httpd/conf.d/ssl.conf:56)端口443 namevhost console.somedomain.com(/etc/httpd/conf.d/ssl.conf :56)端口443 namevhost console.somedomain.com(/etc/httpd/conf.d/ssl.conf:56)端口443 namevhost console.somedomain.com(/etc/httpd/conf/httpd.conf:441)端口443 namevhost console.somedomain.com(/etc/httpd/conf/httpd.conf:441)port 443 namevhost support1.somedomain.com(/etc/httpd/conf/httpd.conf:455)port 443 namevhost support1.somedomain。 com(/etc/httpd/conf/httpd.conf:455)

Showed that console was reffered to in ssl.conf. 显示在ssl.conf中引用了控制台。

After looking, SSL.conf only had the default ssl. 看完之后,SSL.conf只有默认的ssl。

I then remembered that my actual system hostname was console.somedomain.com 然后我记得我的实际系统主机名是console.somedomain.com

So, I removed the default ( i dont want anything else on SSL anyway. just vhosts i define. ) 所以,我删除了默认设置(我还不想在SSL上使用其他任何东西。我只定义了vhosts。)

Restarted apache and now it works: apachectl -t -D DUMP_VHOSTS *:443 is a NameVirtualHost default server support1.somedomain.com (/etc/httpd/conf/httpd.conf:444) port 443 namevhost support1.somedomain.com (/etc/httpd/conf/httpd.conf:444) port 443 namevhost support1.somedomain.com (/etc/httpd/conf/httpd.conf:444) port 443 namevhost console.somedomain.com (/etc/httpd/conf/httpd.conf:458) port 443 namevhost console.somedomain.com (/etc/httpd/conf/httpd.conf:458) 重新启动的apache现在可以正常工作:apachectl -t -D DUMP_VHOSTS *:443是一个NameVirtualHost默认服务器support1.somedomain.com(/etc/httpd/conf/httpd.conf:444)端口443 namevhost support1.somedomain.com(/ etc / httpd / conf / httpd.conf:444)port 443 namevhost support1.somedomain.com(/etc/httpd/conf/httpd.conf:444)port 443 namevhost console.somedomain.com(/ etc / httpd / conf / httpd.conf:458)port 443 namevhost console.somedomain.com(/etc/httpd/conf/httpd.conf:458)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM