ssl - 阿帕奇2 | 2 个域,1 个 IP | SSL 配置 1x 普通 1x 通配符
问题描述
我有 2 个域。domain2.io
(2 个子域)带有Wildcard SSL
和domain1.de
带有normal SSL
. 我的问题是domain2.io
不知何故正在使用来自domain1.de
. 我做错了什么?这是我的配置:
000-default.conf:
<VirtualHost *:80>
ServerName domain1.de
ServerAlias www.domain1.de
Redirect / https://www.domain1.de/
</VirtualHost>
<VirtualHost *:80>
ServerName domain2.io
ServerAlias www.domain2.io
Redirect / https://domain2.io/
</VirtualHost>
<VirtualHost *:80>
ServerName service.domain2.io
ServerAlias www.service.domain2.io
Redirect / https://service.domain2.io
</VirtualHost>
<VirtualHost *:80>
ServerName webapp.domain2.io
ServerAlias www.webapp.domain2.io
Redirect / https://webapp.domain2.io
</VirtualHost>
这里是我的 000-default-ssl.conf:
NameVirtualHost *:443
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName domain1.de
DocumentRoot /var/www/html/apps/domain1/new/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined.
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/domain1/domain1.de.crt
SSLCertificateKeyFile /etc/apache2/ssl/domain1/domain1.de.key
</VirtualHost>
<VirtualHost *:443>
ServerName domain2.io
DocumentRoot /var/www/html/websites/domain2/webapp/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined.
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/domain2/domain2.io.crt
SSLCertificateKeyFile /etc/apache2/ssl/domain2/domain2.io.key
</VirtualHost>
<VirtualHost *:443>
ServerName service.domain2.io
ServerAlias www.service.domain2.io
DocumentRoot /var/www/html/websites/domain2/backend/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined.
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/domain2/domain2.io.crt
SSLCertificateKeyFile /etc/apache2/ssl/domain2/domain2.io.key
</VirtualHost>
<VirtualHost *:443>
ServerName webapp.domain2.io
ServerAlias www.webapp.domain2.io
DocumentRoot /var/www/html/apps/domain2/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined.
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/domain2/domain2.io.crt
SSLCertificateKeyFile /etc/apache2/ssl/domain2/domain2.io.key
</VirtualHost>
</IfModule>
解决方案
通配符证书不起作用,因为它适用于 *.domain2.io - 所以它不会匹配 domain2.io。因此,您需要一个单独的 domain2.io 证书 - 或使用 www.domain2.io。
使用让我们加密证书来获取另一个证书时应该没问题。