我正在尝试安装 SSL 证书。
当我重新启动 Apache 时出现此错误:
SSLProtocol:非法协议“\xe2\x80\x93SSLv2”
这是我的配置文件指令:
<VirtualHost *:443>
ServerName example.com
ServerAlias *.example.com
DocumentRoot /home/abc/public_html/
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /etc/ssl/mycert_example_com_cert.cer
SSLCertificateKeyFile /etc/ssl/mycert.key
SSLCACertificateFile /etc/ssl/mycert_example_com_interm.cer
ErrorLog logs/sites_error_log
CustomLog logs/sites_access_log common
</VirtualHost>
修正:
我使用@MichaelHampton 的连字符捕获解决了该错误。
现在,当我重新启动 apache 时,http 服务守护进程不会启动apachectl restart
或apachectl stop
apache start
因此我逐步执行指令,逐一注释和取消注释,并且在我取消注释时SSLEngine on
http 不会重新启动。
所以我想知道...这是 conf 文件中的第二个容器。第一个容器也有一个SSLEngine on
指令。我需要在每个容器中重复该指令吗?
答案1
您的配置行不包含预期的连字符 ( -
)。而是包含一个短划线 ( –
)。它看起来很相似,但它是一个完全不同的字符。
事实上,看起来它们都是破折号。
如果您从将连字符更改为破折号的网站进行复制和粘贴,则可能会发生这种情况。
为了解决这个问题,请将两个短划线都替换为连字符。
答案2
确保 mod_ssl 正在加载。您应该能够通过检查错误日志来判断(在 ubuntu 上,该日志位于 /var/log/apache2 中)。