WAMP配置局域网https服务
一、开始前
本文旨在使用openssl配置本地局域网内的https服务,主要用于开发测试,一些涉及到开启摄像头麦克风的操作
由于使用的是免费证书,因此在访问时,浏览器会弹出不安全的警告,点击高级,继续访问即可
二、下载安装OpenSSL
Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions
下载一个 light 版本即可
下载完成后直接安装即可,可以安装到任意盘
我的路径在:D:\Program Files\OpenSSL-Win64
注:
1.下载速度比较慢,看自己的网络情况,如果有梯子最好
(如果下载有困难,附件资源中也上传了一份,也可以给我留言)
2.安装到最后一步,取消所有donate(捐助)相关的选框,再点击完成即可
三、创建秘钥和证书
1.进入目录
首先,使用win+R输入CMD,进入命令行窗口,然后进入到OpenSSL安装目录
cd D:/Program Files/OpenSSL-Win64/bin
2.创建私钥
执行第一句命令时会被要求输入一个密码,并在执行第二句命令时使用。
(注:输入密码时不会显示字符也不会显示*,直接输入即可)
openssl genrsa -aes256 -out private.key 2048
openssl rsa -in private.key -out private.key
执行结果,如图所示
3.创建证书
在此步中,会被要求回答几个问题(例如所在国家城市等),前面无关仅要的问题可以根据提示随意输入,最主要的是Common Name,我这里设置为localhost(此处不影响你后面局域网内IP的设置)
openssl req -new -x509 -nodes -sha1 -key private.key -out certificate.crt -days 36500
执行完成后结果如下
除了Common Name需要按需设置外(不知道是啥就localhost),其他画横线的都可以随意输入
完成后,会在当前bin目录下,生成以下两个文件
四、复制秘钥和证书到WAMP
我的wamp安装目录为:D:\wamp
在D:\wamp\bin\apache\Apache2.4.4\conf中创建文件夹,命名为“key”
在D:\Program Files\OpenSSL-Win64\bin中找到刚刚创建的certificate.crt 和 private.key,复制到key文件夹下。
五、编辑http.conf文件
打开 D:\wamp\bin\apache\Apache2.4.4\conf\httpd.conf
将以下内容取消注释(删除前面的#)
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
注意,以上三条并不是挨着的,需要逐一搜索
六、编辑http-ssl.conf
打开 D:\wamp\bin\apache\Apache2.4.4\conf\extra\httpd-ssl.conf
逐一找到以下内容,并按照自己的路径设置
1.第一处
DocumentRoot "D:/wamp/www"
ServerName 192.168.1.20:443
ServerAdmin web@w.me
ErrorLog "D:/wamp/logs/apache_error.log"
CustomLog "D:/wamp/logs/apache_access.log" combined
如下图,红框是原有的,绿框是新配置的
2.第二处
SSLCertificateFile "D:/wamp/bin/apache/Apache2.4.4/conf/key/certificate.crt"
3.第三处
SSLCertificateKeyFile "D:/wamp/bin/apache/Apache2.4.4/conf/key/private.key"
4.第四处(拉到最下方)
CustomLog "D:/wamp/logs/ssl_request.log" \
注意:https和原http监听的端口不同,若要改变监听的端口,可以自行修改http-ssl.conf中的listen字段,默认https监听的端口是443
七、重新启动WAMP
重新启动服务器,以应用更改。wamp图标显示为绿色,这配置通过,可以去浏览器测试访问了。
如果这里图标显示橙色,则代表配置有错误,
在CMD中执行一下语句,进行配置文件格式的检查
D:/wamp/bin/apache/Apache2.4.4/bin/httpd.exe -t
现在可以自己用https访问网站了(忽略浏览器的警告,点更多,继续访问即可)
https://192.168.1.XXX:443
如果一切正常,此时打开的页面应该和使用普通http的页面是相同的
参考文章:WAMP 启用 HTTPS/SSL - xiaogezi - 博客园
本文主体是参照以上文章做的,只是主要在第6步将原文的步骤拆分开,更详细了一些