我有一个 VHOST 配置,需要重新审视。我们在两个虚拟主机上启用了 SSLEngine - 一个在端口 443 上,另一个在端口 4432 上。出于某种原因,无论连接是从 443 还是 4432 进入,它都会自动诉诸于定义的第一个 vhost。如果我将 443 放在顶部,它会将该配置用于 443 和 4432,如果我将 4432 放在顶部,它会将该配置用于 443 和 4432。有人能告诉我为什么它只抓取顶部虚拟主机,即使它们应该只转到各自的端口吗?我知道 SSL 需要自己的 IP,但据我所知,单独的端口也应该足够了?
Listen *:443
<VirtualHost *:443>
SSLEngine On
SSLCertificateFile ...
SSLCertificateKeyFile ...
SSLCertificateChainFile ...
...
</VirtualHost>
Listen *:4432
<VirtualHost *:4432>
SSLEngine On
SSLCertificateFile a_different_file...
SSLCertificateKeyFile a_different_file...
SSLCertificateChainFile a_different_file...
...
</VirtualHost>
答案1
为什么不将所有 SSL 都放在端口 443 上并使用 vHost 来使用多个域?您正在尝试这样做,但您忽略了这一点。试试这个:
NameVirtualHost *:443
<VirtualHost *:443>
insert ssl stuff1 here
ServerAdmin [email protected]
DocumentRoot "C:/xampp/htsecure1/"
ServerName domain1.com
ServerAlias www.domain1.com
</VirtualHost>
<VirtualHost *:443>
insert ssl stuff2 here
ServerAdmin [email protected]
DocumentRoot "C:/xampp/htsecure2/"
ServerName domain2.com
ServerAlias www.domain2.com
</VirtualHost>
<VirtualHost *:443>
insert ssl stuff3 here
ServerAdmin [email protected]
DocumentRoot "C:/xampp/htsecure3/"
ServerName domain3.com
ServerAlias www.domain3.com
</VirtualHost>