单个 apache 具有多个虚拟主机,但只有其中一些具有 https

单个 apache 具有多个虚拟主机,但只有其中一些具有 https

我让 apache 在 80 上监听并运行 4 个站点:

  • AAA.COM:80
  • bbb.com:80
  • ccc.com:80
  • ddd.com:80

我启用端口 443 并仅为前 2 个站点(“aaa”和“bbb”)添加 SSL 证书并且运行良好,所以现在我的虚拟主机如下:

  • AAA.COM:80
  • AAA.COM:443
  • bbb.com:80
  • bbb.com:443
  • ccc.com:80
  • ddd.com:80

问题在于,尝试访问“ccc”或“ddd”的 https 版本的用户将获得“aaa”的 VirtualHost,该主机充当默认 443 主机,因为它是第一个为 443 定义主机。

假设以下情况,你通常如何解决这个问题:

  • 我无法获取其余“ccc”和“ddd”站点的 SSL 证书
  • 我无法将“ccc”和“ddd”移至另一台服务器(该服务器只能监听 80)

答案1

您是否尝试过在不使用证书的情况下在虚拟主机上从 https 重定向到 http?我的设置与您相同,但我必须查看我的笔记以了解我是如何做到的。

答案2

你应该为该服务器获取第二个 IP 地址,然后配置 apache 来监听

  • 不含 SSL 的站点的第一个 IP 地址的端口 80
  • 具有 SSL 的站点的第二个 IP 地址的端口 80 和 443

然后相应地设置您网站的 DNS 记录。

相关内容