您好我有以下用例,我在远程服务器/ var / www / foobar上有一个应用程序(让我们称之为foobar)我有以下Apache VirtualHost conf
<VirtualHost *:80>
DocumentRoot /var/www
# This is to redirect http traffic to https
Redirect permanent / https://example.com/
</VirtualHost>
<VirtualHost *:443>
SSLEngine On
SSLCertificateFile /etc/ssl/certs/example.com.crt
SSLCertificateKeyFile /etc/ssl/private/example.com.key
SSLCertificateChainFile /etc/ssl/certs/example.com.bundle.crt
ServerName example.com:443
DocumentRoot /var/www/foobar
</VirtualHost>
它的工作一切正常。现在假设我有另一个域example2.com,我希望它指向相同的foobar应用程序。我目前的想法是在下面创建另一个VirtualHost,就像这样
<VirtualHost *:443>
SSLEngine On
SSLCertificateFile /etc/ssl/certs/example2.com.crt
SSLCertificateKeyFile /etc/ssl/private/example2.com.key
SSLCertificateChainFile /etc/ssl/certs/example2.com.bundle.crt
ServerName example2.com:443
DocumentRoot /var/www/foobar
</VirtualHost>
但我想知道这是做这样的事情的正确方法吗?我需要两个域都是“独立的”所以我没有从example2.com永久重定向到example.com
答案 0 :(得分:0)
您可以执行以下操作,您可以使用服务器别名,此外我也没有看到有2个虚拟主机的错误。
<VirtualHost *:443>
ServerName example1.com
ServerAlias example2.com
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/testlink
</VirtualHost>
如果您无法获得证书错误,则可以使用通配符CN创建证书。例如:*.com
这将匹配example1.com和example2.com。