Wampserver 开启 SSL 实现 HTTPS 网站

我使用的是 Wampserver 的 3.x 版本。目前 apache 的版本为 2.4.23。理论上这篇文章支持 Wamp3 的所有版本。

之前在自己电脑上配置完了,本来不想写文章,今天在公司配置的时候一直拒绝访问,没想到还是自己坑自己,记录一下防止再次被坑。

开启 Wamp 模块

Wampserver 的好处就在于所有的配置都给你用软件去修改,省的编辑 httpd.conf 文件。坑也在此。

开启 ssl_modulesocache_shmcb_module 模块。前者 SSL 服务(必填),后者是 SSL 缓存(选填)。

修改 httpd.conf 文件

在 Wampserver 安装目录的 /bin/apache/apache2.4.23/conf/httpd.conf,查找 conf/extra/httpd-ssl.conf,将前面的 # 去掉,保存。

我坑在此,因为已经通过软件开启了模块,以为用不到修改这个文件了。然后我直接修改了 httpd-ssl.conf 文件不生效,语法检查也没错误,在此文件搜索 ssl 才发现,没有引入 httpd-ssl.conf 文件。

获取 SSL 证书

以前的办法都是用 OPENSSL 生成,现在证书都免费了,大家可以去腾讯云申请一个,用 QQ 登录,直接申请免费证书就行,不收费。点这里查看申请流程

申请完成之后找个位置存放,下图是我存放的位置。

PS:如果配置多个网站,建议用域名当文件夹名字创建多个文件夹来存储,因为第一个 1_root_bundle.crt 文件名字一致,虽然可以在配置文件里修改,但也麻烦不是?

修改 httpd-ssl.conf 文件

证书保存好之后,找到 Wampserver 安装目录的 /bin/apache/apache2.4.23/conf/extra/httpd-ssl.conf,在文件最后增加以下代码,证书路径根据上一步放置位置修改,保存。

1
2
3
4
5
6
7
8
9
10
11
# 错的 <VirtualHost blog.wanghaida.com:443>
# 对的 <VirtualHost *:443>
<VirtualHost *:443>
ServerName blog.wanghaida.com
DocumentRoot "D:/wamp64/www/blog.wanghaida.com"
SSLEngine on
SSLCertificateFile D:/wamp64/bin/apache/blog.wanghaida.com/2_blog.wanghaida.com.crt
SSLCertificateKeyFile D:/wamp64/bin/apache/blog.wanghaida.com/3_blog.wanghaida.com.key
SSLCertificateChainFile D:/wamp64/bin/apache/blog.wanghaida.com/1_root_bundle.crt
</VirtualHost>

这里为什么说写域名的错误,写星号的正确呢?因为星号的可以外网访问。写域名的只能本地访问。

重启服务

重新启动服务即可。到此,应该就能通过 HTTPS 访问你增加的网站了。

错误排查

如果 Apache 启动不起来,进入安装目录的 /bin/apache/apache2.4.23/bin/,按住 Shift 右击,选择 在此处打开命令窗口,输入 httpd -t 看看是不是语法错误。

坚持原创技术分享,您的支持将鼓励我继续创作!