我构建了一个 vagrant/virtualbox Web 服务器作为开发沙箱,并在 VM 中为 ssl 配置了 apache(在默认端口 443 上,具有自签名证书)。我已经使用curl在虚拟机本身上测试了页面
curl -v -k https://mysite.mydomain.com/testSearch/results?postcode=WN8+0BA
它似乎工作得非常愉快,所以我很满意 apache 已正确配置并在虚拟机中工作。
但是,当我尝试通过 https 从主机浏览器访问虚拟机时,我无法执行此操作。
我已经添加
config.vm.forward_port "https", 443, 8443
到我的 vagrantfile,但尝试访问 url
https://mysite.mydomain.com:8443/testSearch/results?postcode=WN8+0BA
根本无法显示我用几种不同的浏览器尝试过的页面:IE给出了毫无意义的“Internet Explorer无法显示网页”; Chrome 给出
SSL connection error
Unable to make a secure connection to the server. This may be a problem with the server or it may be requiring a client authentication certificate that you don't have.
Error 107 (net::ERR_SSL_PROTOCOL_ERROR): SSL protocol error.
火狐给我
An error occurred during a connection to mysite.mydomain.com:8443.
SSL received a record that exceeded the maximum permissible length.
(Error code: ssl_error_rx_record_too_long)
但即使是 Firebug Net 选项卡也无法告诉我更多信息。
我在 VM apache 上的访问或错误日志中没有收到任何内容,因此我怀疑 vagrant 根本没有转发 ssl。
- VM来宾操作系统:centos56x64
- 主机:Windows 7 64位
- JRuby:1.6.3 (ruby-1.8.7-p330) (2011-07-07 965162f) (Java HotSpot(TM) 64 位服务器 VM 1.6.0_24) [Windows 7-amd64-java]
- 流浪者:0.7.8
- 虚拟盒:4.0.12
任何帮助将不胜感激。