配置 Apache2.2 + mod_ssl;需要解释,而不是操作方法

配置 Apache2.2 + mod_ssl;需要解释,而不是操作方法

抱歉,这是个新手问题:

我在 Windows 机器上安装了 Apache 2.2.17 + OpenSSL,现在我试图配置 mod_ssl,但无法配置。我做了以下操作:

  1. 使用 OpenSSL 创建一个证书 ( C:\my\cert) 和一个密钥 ( C:\my\key)。

  2. LoadModule ssl_module modules/mod_ssl.so取消注释文件中的该行httpd.config

  3. 更新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,结果会得到乱码。

相关内容