[英]apache serving the wrong ssl certificate
我的httpd.conf文件中有以下2节。 我在给定位置安装了* .example.biz的通配符证书。 如您所见,这两个部分中的4个SSL伪指令是相同的(复制和粘贴)。 但是,当我转到example.biz时,出现ssh错误,表明CA证书在2015年到期。当我访问子域时,我得到了正确的证书链,该证书说它在2018年到期。我很抱歉,我使用的是示例,但这是针对必须保密的客户。
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/2017.crt
SSLCertificateKeyFile /etc/pki/tls/private/my_biz_2016.key
SSLCertificateChainFile /etc/pki/tls/certs/2017_ca.crt
<Directory /var/www/MyCompany/example.com/public/>
AllowOverride All
</Directory>
ErrorLog /var/www/logs/example.com/error.log
CustomLog /var/www/logs/example.com/access.log combined
DocumentRoot /var/www/MyCompany/example.com/public/
ServerName example.biz
</VirtualHost>
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/2017.crt
SSLCertificateKeyFile /etc/pki/tls/private/my_biz_2016.key
SSLCertificateChainFile /etc/pki/tls/certs/2017_ca.crt
<Directory /var/www/MyCompany/SubDomain/public/>
AllowOverride All
</Directory>
ErrorLog /var/www/logs/SubDomain/error.log
CustomLog /var/www/logs/SubDomain/access.log combined
DocumentRoot /var/www/MyCompany/SubDomain/public/
ServerName subdomain.example.biz
</VirtualHost>
最后,如果有帮助,这是我的.htaccess
文件:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
另外:我对两个域执行ping操作,并且它们都指向同一服务器,并且我没有使用cloudflare或类似的东西。 我还重新启动了Apache以确保。
我在vhosts文件中定义了所有的虚拟主机,但是在我的httpd.conf
文件中,我显然将其设置为一组默认值,例如:
ServerAdmin root@localhost
ServerNAme example.biz
DocumentRoot /var/www/html # I wasn't using this folder
一旦删除了这些错误的默认值,它便开始工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.