抱歉,这是个新手问题:
我在 Windows 机器上安装了 Apache 2.2.17 + OpenSSL,现在我试图配置 mod_ssl,但无法配置。我做了以下操作:
使用 OpenSSL 创建一个证书 (
C:\my\cert
) 和一个密钥 (C:\my\key
)。LoadModule ssl_module modules/mod_ssl.so
取消注释文件中的该行httpd.config
。更新
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
而现在,我陷入了困境。请有人不仅告诉我该做什么,还要解释为什么我必须这么做。
errors.log
每当我尝试输入时,以下行就会添加到文件中https://mysite/
:
[Mon Mar 21 16:49:57 2011] [error] [client 192.168.0.14] Invalid method in request \x16\x03
答案1
你缺少的是
SSLEngine on
该文件<VirtualHost>
告诉 Apache 它需要将传入连接作为 SSL 连接进行处理。如果没有该文件,Apache 会认为传入连接未加密,并尝试将 SSL 协议解析为 HTTP,结果会得到乱码。