wamp安装ssl证书
WampServer 默认跑的安装是 HTTP,浏览器地址栏里那个小锁图标永远不会亮。安装想让它亮起来,安装就得自己配 SSL 证书。安装本地开发环境用自签名证书完全够用,安装没必要去买商业证书,安装折腾几分钟就能搞定。安装
我用的安装环境是 WampServer 3.3.0,Apache 2.4.57,安装PHP 8.1。安装不同版本路径略有差异,安装但逻辑一样。安装下面直接说操作。安装
先确认 OpenSSL 能用
WampServer 自带 OpenSSL,安装在 D:\wamp64\bin\apache\apache2.4.57\bin 目录下(我的安装装在 D 盘,你按自己的实际路径来)。打开命令行,切到这个目录,执行:
openssl version 能输出版本号就行。如果提示找不到命令,检查一下这个目录里有没有 openssl.exe。没有的话说明你的 WampServer 版本没带,得单独装一个。
生成自签名证书
在 bin 目录下新建一个文件夹叫 ssl,专门放证书文件。然后执行这条命令:
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout ssl/server.key -out ssl/server.crt -config D:\wamp64\bin\apache\apache2.4.57\conf\openssl.cnf 几个参数解释一下。-nodes 表示私钥不加密,省得每次重启 Apache 都要输密码。-days 3650 是有效期十年,本地开发不用频繁换。-config 那一段指向 Apache 自带的 openssl.cnf,不指定的话可能报错说找不到配置文件。
执行后会让你填一堆信息:Country Name 填 CN,State 随便,Common Name 这里要填 localhost。这个 Common Name 很关键,它必须和你浏览器访问的域名一致,否则浏览器会报证书名称不匹配。其余字段可以留空直接回车。
跑完之后 ssl 文件夹里应该有两个文件:server.key 和 server.crt。
改 Apache 配置
打开 httpd.conf,找到这三行,把前面的 # 去掉:
LoadModule ssl_module modules/mod_ssl.so LoadModule socache_shmcb_module modules/mod_socache_shmcb.so Include conf/extra/httpd-ssl.conf 前两个是 SSL 依赖的模块,第三个是 SSL 的虚拟主机配置文件。少开任何一个,Apache 重启都会失败。
接着编辑 conf/extra/httpd-ssl.conf。这个文件内容比较多,找到下面几行并修改:
SSLCertificateFile "D:/wamp64/bin/apache/apache2.4.57/bin/ssl/server.crt" SSLCertificateKeyFile "D:/wamp64/bin/apache/apache2.4.57/bin/ssl/server.key" 注意路径用正斜杠,反斜杠在这里会被当成转义字符。另外确认 DocumentRoot 和 ServerName 指向你的项目目录和 localhost。
重启并测试
点 WampServer 托盘图标,Restart All Services。图标变绿说明配置没问题。如果变橙或变红,去看 logs/apache_error.log,多半是路径写错或者模块没加载。
浏览器访问 https://localhost。会出现安全警告,因为自签名证书不被信任。点“高级”→“继续前往”就行。地址栏的小锁是灰色的或者带感叹号,但连接确实是加密的。Chrome 对自签名证书比较严格,Firefox 可以手动把证书加入信任列表,之后就不报警告了。
有个坑我踩过:WampServer 的菜单里有个“Your VirtualHosts”选项,如果你之前配过虚拟主机,httpd-ssl.conf 里的 ServerName 可能和你的虚拟主机域名对不上。这时候要么改 ServerName,要么重新生成证书时把 Common Name 填成你的虚拟主机域名。
证书放哪儿、Common Name 填什么、路径怎么写,这三件事搞对了,WampServer 跑 HTTPS 就没别的障碍。
(责任编辑:综合)
