我正在开发一个仅运行一个网站 example.com 的开发服务器,并运行所有子域用户帐户someone.example.com。服务器正在运行 CentOS,我为 *.example.com 创建了一个自签名通配符证书。我已经在 Firefox 和 Safari 中测试了这个证书,它在两种浏览器中都运行良好,一旦我接受了证书,我就可以毫无问题地访问 example.com 和 someone.example.com(弹出说这个网站可能不安全)。
该证书适用于所有浏览器中的 example.com,当我去那里(即使使用 IE 和 Chrome)时,我能够接受并将证书安装到“受信任的根证书颁发机构”中。当我在 Internet Explorer(第 9 版)和 Google Chrome(第 20 版)中测试 someone.example.com 时,我得到一个页面,上面写着“Internet Explorer 无法显示网页”(IE)和“此网页不可用”(Chrome) . 我什至没有弹出要求我接受证书的弹出窗口。
在someone.example.com 的代码中,我有一个强制使用https 的声明,但是当我删除它时,页面加载正常为http://someone.example.com(但显然不安全)。但是,相同的代码正在实时服务器上运行,并且我在使用已购买的通配符 ssl 证书访问实时站点上的 example.com 和 someone.example.com 时没有任何问题。
我一直在四处寻找,发现通过删除证书并创建一个新证书解决了类似的问题,所以我这样做了,但无济于事。我也尝试过几次从 IE 的缓存中删除证书并手动重新安装它,但这也没有改变任何东西。我已经在 1 台 Windows 7 PC、1 台 Windows Vista PC 和 1 台 Mac 上测试了这个问题;所有人都给出了相同的结果。