Apache2、VirtualHosts、SSL、多域名证书

Apache2、VirtualHosts、SSL、多域名证书

我有一台 Debian 服务器,它有一个 IP 和三个链接到同一个文件夹的项目。在 VirtualHosts 中我有一些不同的别名。我现在想将一些部分重定向到 HTTPS。对于一个项目,这很有效(见下文),但对于其他项目,我遇到了问题。我为所有三个项目都提供了多域证书。

模块 ssl 和重写正在工作。

NameVirtualHost *
Listen 80
Listen 443


<Directory /home/projekt/>
   Allow from all
   AllowOverride All
   Order allow,deny
   Options FollowSymLinks
</Directory>

<VirtualHost *:80>
   ServerAdmin     support@projekt
   DocumentRoot    "/home/projekt/cfdocs"
   ServerName      local-projekt.com
[..]
</VirtualHost>

<VirtualHost *:80>
   ServerAdmin     support@projekt
   DocumentRoot    "/home/projekt/cfdocs"
   ServerName      projekt-de.com
[..]
</VirtualHost>

<VirtualHost staticIP:443>
   ServerAdmin     support@projekt
   DocumentRoot    "/home/projekt/cfdocs"
   ServerName      projekt-de.com

   SSLEngine On
   SSLCertificateFile /etc/ssl/www_.crt
   SSLCertificateKeyFile /etc/ssl/www_.key
   SSLCertificateChainFile /etc/ssl/www_.ca-bundle
   ServerSignature On

[..]
</VirtualHost>

<VirtualHost *:80>
   ServerAdmin     support@projekt
   DocumentRoot    "/home/projekt/cfdocs"
   ServerName      projekt-fr.com
[..]
</VirtualHost>

<VirtualHost *:80>
   ServerAdmin     support@projekt
   DocumentRoot    "/home/projekt/cfdocs"
   ServerName      projekt-it.com
[..]
</VirtualHost>

正如我所说,这对项目来说很好。但我无法将 VirtualHost 复制到其他项目,错误消息是

"VirtualHost staticIP:443 overlaps with VirtualHost staticIP:443, the first has
precedence, perhaps you need a NameVirtualHost directive"

我不确定这是什么意思。我读了文档,然后我想http://213.11.80.10/manual/vhosts/examples.html#ipport和我拥有/需要的东西是一样的。

谢谢您的任何提示,我已经花了几个小时进行测试。

答案1

尝试将配置的第一行替换为:

NameVirtualHost *:80
NameVirtualHost staticIP:443

因为 VirtualHost 指令的参数必须与名称虚拟主机指示

相关内容