【发布时间】:2017-03-11 20:16:38
【问题描述】:
我的 httpd.conf 文件中有以下两个部分。我在给定位置安装了 *.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 以确保。
【问题讨论】:
-
我在
ServerName/ServerAlias看不到example.biz -
也许这个答案对unix.stackexchange.com/a/217961/26493有帮助
-
我认为这可能是问题所在,但 GoDaddy 将根域作为备用名称。
-
我可以正确地假设您在更改配置后重新加载/重新启动了服务吗?
-
@MattClark 在这种情况下,您可以正确地假设我重新启动了它,尽管通常这是一个危险的假设!太容易忘记了。感谢您的评论。