我正在尝试使用自签名证书来设置我的域名。 我创build了证书,并将server.key
和server.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