我让 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 记录。