我的 Apache 安装中有许多虚拟主机。我使用两个 IP 地址,其中一个仅用于 SSL。
我的默认虚拟主机是这样的:
NameVirtualHost *
<VirtualHost *:80>
...
</VirtualHost>
问题是我有另一个看起来像这样的虚拟主机,并且应该只与其他 IP 上的 SSL 匹配:
<VirtualHost 94.75.193.86:443>
...
</VirtualHost>
当我去http://主机名:443我得到的是默认虚拟主机,而不是 SSL 虚拟主机。我猜这是因为我使用了“NameVirtualHost *”而不是指定端口。
令我感到困惑的是,当我将默认的 NameVirtualHost 更改为 *:80 时,其他每个虚拟主机(非 ssl)都会停止工作,并且每个请求都会发送到默认虚拟主机。
我做错了什么?
答案1
您需要查看您的ssl.conf
(或同等的)文件。
当您在进行配置更改后执行操作时/usr/sbin/apachctl graceful
,我敢打赌它会说明您的 VirtualHost 与默认 SSL 处理程序发生冲突。