N00b的问题,对不起:
我在Windows上安装了Apache 2.2.17 + OpenSSL,现在我正在尝试configurationmod_ssl,但是我不能。 我所做的是以下几点:
使用OpenSSL,创build一个证书( C:\my\cert )和一个密钥( C:\my\key )。
取消注释httpd.config文件中的LoadModule ssl_module modules/mod_ssl.so行。
更新extra\httpd.ssl.conf :
<VirtualHost _default_:443> DocumentRoot "C:/my/document/root" # ... SSLEngine on # ... SSLCertificateFile "C:/my/cert" SSLCertificateKeyFile "C:/my/key" # ... <Location /> SSLRequireSSL </Location> SSLOptions +StrictRequire
而且,在这一点上,我卡住了。 请别人告诉我我要做什么,但请解释我为什么要这样做。
每当我尝试inputhttps://mysite/时,以下行就被添加到errors.log文件中:
[Mon Mar 21 16:49:57 2011] [error] [client 192.168.0.14] Invalid method in request \x16\x03
你错过了什么
SSLEngine on
在<VirtualHost>里面告诉Apache它需要将传入的连接作为SSL连接来处理。 没有它,Apache会假定传入的连接是未encryption的,它会尝试将SSL协议parsing为HTTP,并且会得到乱码。