Apache 虚拟主机多个 SSL 映射被忽略

Apache 虚拟主机多个 SSL 映射被忽略

我有一个 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>

相关内容