WAMP3.2.3通过cer证书安装SSL实现https方法

写在前面

SSL的证书有cer,crt,key,pem等多种格式,别问这些格式的证书有什么区别,我也不知道,也没兴趣去研究。
我的情况是,甲方给了个cer证书,要通过这个cer证书实现wamp上SSL功能。具体做法如下。

操作环境

WAMP版本:3.2.3 64位
证书格式:cer

操作步骤

  1. 编辑httpd.conf文件。
    文件位置:
    E:\wamp64\bin\apache\apache2.4.46\conf\httpd.conf
    将文件中这一行:
    LoadModule ssl_module modules/mod_ssl.so
    前面的#去掉。

  2. httpd.conf文件末尾添加下面这行内容:
    Include conf/ssl.conf

  3. E:\wamp64\bin\apache\apache2.4.46\conf目录下新建一个ssl.conf文件,并将如下内容粘贴进去。

    Listen 443
    SSLStrictSNIVHostCheck off
    SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
    SSLProtocol all -SSLv2 -SSLv3
    <VirtualHost *:443>
    DocumentRoot "E:/wamp64/www/"
    ServerName class.blcu.edu.cn
    ServerAlias class.blcu.edu.cn
    SSLEngine on
    SSLCertificateFile "E:/wamp64/bin/apache/apache2.4.46/conf/ssl/star.cer"
    </VirtualHost>
  4. 将cer证书文件复制到如下路径。
    E:/wamp64/bin/apache/apache2.4.46/conf/ssl

  5. 打开php openssl 扩展,在php.ini文件中。
    去掉;extension=php_openssl.dll前面的;

特别注意

重要的事情说三遍!!!
编辑E:\wamp64\bin\apache\apache2.4.46\conf内容时,行首不能有空格或者tab。
编辑E:\wamp64\bin\apache\apache2.4.46\conf内容时,行首不能有空格或者tab。
编辑E:\wamp64\bin\apache\apache2.4.46\conf内容时,行首不能有空格或者tab。

如何在Apache2.4中建立虚拟目录(虚拟主机)

1. Apache版本号

WAMP环境,Apache版本号:2.4.23
此方法同样适用于普通Apache环境。

2. 目标

在浏览器中输入http://localhost:8787的时候,访问F:\PHP_WORKPLACE\www\fastadmin\public文件夹。

3. 两个文件需要编辑

两个文件的目录如下:
如果非wamp环境,则在Apache安装目录:

  • apache安装目录\conf\extra\httpd-vhosts.conf
  • apache安装目录\conf\httpd.conf

如果是wamp环境,可以直接在wamp菜单下打开这两个文件。
file

3.1 httpd-vhosts.conf

增加如下代码:

<VirtualHost *:8787>
    ServerName localhost
    DocumentRoot F:/PHP_WORKPLACE/www/fastadmin/public
    <Directory  "F:/PHP_WORKPLACE/www/fastadmin/public/">
        Options +Indexes +Includes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

其中:
8787为访问时使用的端口号,可以任意指定。
DocumentRoot和Directory为绑定的目录地址。

3.2 httpd.conf

在文件中搜索Listen关键字,找到:
Listen 0.0.0.0:80
在这句的下面,输入:
Listen 0.0.0.0:8787
这里面的8787和httpd-vhosts.conf中的端口号对应。

4. 重启Apache

重启Apache,大功告成!