如何解决SSLProtocol语法错误

我正在尝试安装SSL证书。

当我重新启动Apache时,我得到这个错误:

SSLProtocol:非法协议'\ xe2 \ x80 \ x93SSLv2'

这是我的conf文件指令:

<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 restartapachectl stopapache start

所以我通过指令,逐一评论和取消注释,当我取消SSLEngine on http上的一刻不重新启动。

所以我想知道…这是conf文件中的第二个容器。 第一个容器也有一个SSLEngine on指令。 我是否需要在每个容器中重复该指令?

您的configuration行不包含预期的连字符( - )。 它反而包含一个破折号( )。 它看起来相似,但是它是完全不同的特征。

实际上,它们看起来都是破折号。

如果您从无用的连字符改为连字符的网站复制粘贴,就会发生这种情况。

要解决此问题,请用连字符replace两个连字符。

确保正在加载mod_ssl。 你应该能够通过检查错误日志(在ubuntu上可以在/ var / log / apache2中)来判断。