Apache httpsconfiguration

我正在尝试使用自签名证书来设置我的域名。 我创build了证书,并将server.keyserver.crt文件放到C:/apache/config/然后我更新了我的httpd.confg主机,包括以下内容,

 <VirtualHost 192.168.5.250:443> DocumentRoot C:/www ServerName example.com:443 ServerAlias www.example.com:443 SSLEngine on SSLCertificateFile C:/apache/conf/server.crt SSLCertificateKeyFile C:/apache/conf/server.key SSLVerifyClient none SSLProxyEngine off SetEnvIf User-Agent ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog logs/ssl_request_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" </VirtualHost> 

现在,当我去https://example.com我得到以下错误。

SSL连接错误无法与服务器build立安全连接。 这可能是服务器的问题,或者可能需要您没有的客户端身份validation证书。 错误107(net :: ERR_SSL_PROTOCOL_ERROR):SSL协议错误。

当我运行curl https://example.com我得到错误,

curl:(35)错误:140770FC:SSL例程:SSL23_GET_SERVER_HELLO:未知协议

任何人都可以看到我做错了什么?

谢谢!

其他可能相冲突的configuration

 <VirtualHost 192.168.5.250:80> ServerName example.com ServerAlias www.example.com DocumentRoot C:/www/domain </VirtualHost> # <VirtualHost 192.168.5.250:443> ..Above config is here </VirtualHost> <VirtualHost 192.168.5.250:80> ServerName subdomain.example.com ServerAlias www.subdomain.example.com DocumentRoot C:/www/subdomain </VirtualHost> 

更改:

 <VirtualHost 192.168.5.250:443> ServerName example.com:443 ServerAlias www.example.com:443 

至:

 <VirtualHost *:443> ServerName example.com ServerAlias www.example.com 

并改变:

 <VirtualHost 192.168.5.250:80> 

至:

 <VirtualHost *:80> 

然后重新加载apache,看看是否会工作。

我必须将我的虚拟主机移动到192.168.5.250:443之前我的虚拟主机为192.168.5.250:80

所以当NameVirtualHost没有指定端口时,虚拟主机的顺序很重要

configuration忽略端口443

 NameVirtualHost 192.168.5.250 <VirtualHost 192.168.5.250:80> # virtual host configs </VirtualHost> <VirtualHost 192.168.5.250:443> # virtual host configs </VirtualHost> 

configuration工作

 NameVirtualHost 192.168.5.250:80 NameVirtualHost 192.168.5.250:443 <VirtualHost 192.168.5.250:80> # virtual host configs </VirtualHost> <VirtualHost 192.168.5.250:443> # virtual host configs </VirtualHost> 

要么

 NameVirtualHost 192.168.5.250 <VirtualHost 192.168.5.250:443> # virtual host configs </VirtualHost> <VirtualHost 192.168.5.250:80> # virtual host configs </VirtualHost> 

在我的情况下,我没有启用网站“default-ssl”。 在/etc/apache2/sites-enabled文件夹中只列出了“000-default”。

在Ubuntu 14 LTS,Apache 2.4.7上启用SSL站点:

 a2ensite default-ssl service apache2 reload