WampServer3.0服务器端开启ssl认证后重启Apache失败,解决办法

时间:2022-01-11 16:56:13

最近项目中需要访问网站的 https 地址,于是进行部署,什么事情都是想起来简单,做起来难,想着一天就能搞定的事儿,结果前后折腾了三天。

现在把部署的经历记录下来,希望对朋友们有所帮助。

1.在西部数码上花1元钱购买SSL证书服务,地址:https://www.west.cn/web/ssl/,如下图:

WampServer3.0服务器端开启ssl认证后重启Apache失败,解决办法

WampServer3.0服务器端开启ssl认证后重启Apache失败,解决办法

2.在线提交要绑定https的域名,按要求下载fileauth.txt文件,放到网站指定的文件夹中

按要求是要放到网站的 \.well-known\pki-validation 文件夹中,目录是需要创建的,这里到遇了问题:Windows机器是不能直接右键创建带点的目录的,如下图:

WampServer3.0服务器端开启ssl认证后重启Apache失败,解决办法

 

解决办法:使用命令行,在cmd中创建
2.1)打开网站根目录
2.2)按Ctrl+右健,选择在此处打开命令窗口,如下图:
WampServer3.0服务器端开启ssl认证后重启Apache失败,解决办法

2.3)输入 mkdir .well-known 执行,此文件夹为SSL申请文件验证文件夹,创建成功后再创建子目录pki-validation,然后把下载的fileauth.txt文件放到文件夹中,要保证http://www.xxx.com/.well-known/pki-validation/fileauth.txt 和 http://xxx.com/.well-known/pki-validation/fileauth.txt 都能够打开,然后提交审核等待颁发证书,应该是很快就下来了。

3.在apache安装目录(我的是D:\wamp64\bin\apache\apache2.4.23目录)的conf中新建ssl文件夹,下载证书压缩包,把解压后放到ssl文件夹中;

4.开始配置服务器ssl,打开 apache安装目录 /conf/httpd.conf 文件,取消以下三个配置的#:

LoadModule socache_shmcb_module modules/mod_socache_shmcb.so 
LoadModule ssl_module modules/mod_ssl.so 
Include conf/extra/httpd-ssl.conf

5.在 /apache2.4.23/conf/extra 中配置httpd-ssl.conf,按照要求配置以下文件

<VirtualHost *:443>    
    DocumentRoot "D:/site/站点目录/"    
    ServerName www.xxx.com:443  
    SSLEngine on    
    SSLCertificateFile          D:/wamp64/bin/apache/apache2.4.23/conf/ssl/www.xxx.com.cer  
    SSLCertificateKeyFile       D:/wamp64/bin/apache/apache2.4.23/conf/ssl/www.xxx.com.key    
    SSLCertificateChainFile     D:/wamp64/bin/apache/apache2.4.23/conf/ssl/www.xxx.com_ca.crt  
</VirtualHost>
DocumentRoot后边是你的网站目录,SSLCertificateFile、SSLCertificateKeyFile、SSLCertificateChainFile中的域名换成你自己文件名;

6.此时重启apache服务时失败,经查看日志发现是说是加载ssl_mod.so失败,导致Apache无法启动成功

在网上查说是wamp3.0的ssl_mod.so有问题,查看wamp2.0的好像是可以的;

于是在网上搜索到了wampserver2.5的版本; 

把2.5版本中Apache\bin下的ssleay32.dll、libeay32.dll、Apache\modules下的mod_ssl.so替换线上3.0中相应的文件;

7.此时再重启apache还是失败,提示错误如下:

WampServer3.0服务器端开启ssl认证后重启Apache失败,解决办法

8.于是在httpd-ssl.conf文件<VirtualHost *:443>中加入如下代码

<Directory  "D:/site/网站目录">
		Options +Indexes +Includes +FollowSymLinks +MultiViews
		AllowOverride All
		Require all granted
</Directory>

再次重启,搞定,终于https域名可以访问了。