概述
近日,因为要做微信小程序业务,数据的获取协议必须为https,所以需要把服务器部署https,做完后前来记录,希望能帮得上一些需要的朋友。
服务器环境是Windows Server2012 R2版本
wampserver是3.0.6版本
下面开始说明部署https的过程
记得检查服务器是否开启了443端口
如果没有开启可以根据这个连接 https://jingyan.baidu.com/article/375c8e1909da9025f3a2294c.html 开启443端口
第一步需要购买ssl证书,也有免费申请的,由于是个人业务,所以我在阿里云上申请的免费证书(其他平台也可以)。
购买后可以在证书控制台里看到阿里云发放的证书,然后需申请,根据自身情况完成填空, 申请过程中需要进行验证(验证服务器是不是申请人所有)
申请通过后即可下载证书,因为wampserver集成的是apache,所以我们下载证书的时候需要下载apache的。
下载后解压完会有三个文件
把一开始两个后缀名为crt的文件后缀名全部改成pem,然后复制到你的apache目录下,我的wampserver是装在了C盘所以我是复制到了c:/wamp64/bin/apache/apache2.4.23/conf 目录下(可根据个人安装目录进行复制到对应的目录下)
复制完成后,在c:/wamp64/bin/apache/apache2.4.23/conf 下打开httpd.conf文件,找到以下文件
#Include conf/extra/httpd-ssl.conf
#LoadModule ssl_module modules/mod_ssl.so
#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
把这三个文件前面的#号去掉
然后接着打开c:/wamp64/bin/apache/apache2.4.23/conf/extra 下的 httpd-ssl.conf 文件,找到以下文件
#SSLSessionCache "dbm:c:/Apache24/logs/ssl_scache"
#SSLSessionCache "shmcb:c:/Apache24/logs/ssl_scache(512000)"
#SSLSessionCacheTimeout 300
在三个文件前加上#号注释掉
再接着找到
SSLCertificateKeyFile 将后面的路径改为 “c:/wamp64/bin/apache/apache2.4.23/conf/2425630.key”
SSLCertificateFile 改为 “c:/wamp64/bin/apache/apache2.4.23/conf/2425630_public.pem”
SSLCertificateChainFile 改为 “c:/wamp64/bin/apache/apache2.4.23/conf/2425630_chain.pem”
把 SSLCertificateChainFile 前面的#号去掉
以上文件改成证书的路径
改完后继续查找到DocumentRoot 改为 c:/wamp64/www 改成你们网站的根目录
ServerName 改为服务器的ip地址:443,例如:192.168.31.1:443
ErrorLog 改为 “c:/wamp64/bin/apache/apache2.4.23/logs/error.log”
TransferLog 改为 “c:/wamp64/bin/apache/apache2.4.23/logs/access.log”
CustomLog,改为”c:/wamp64/bin/apache/apache2.4.23/logs/ssl_request.log”
SSLProtocol
改为 all -SSLv2 -SSLv3
SSLCipherSuite 改为 HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder 改为 on
听网上大佬说wampserver3.0以上的版本有缺陷,加载不了ssl_module模块,所以需要去下载2.5版本的wampserver复制里面的文件,把3.0.6的wampserver目录下的几个文件给替换掉
下载2.5版本的wampserver后首先打开以下目录
然后找到这几个文件 openssl.cnf、ssleay32.dll、openssl.exe、libeay32.dll
然后复制覆盖到3.0.6版本的同一个目录下
接着在2.5版本的目录下找到该文件 mod_ssl.so
也是覆盖到3.0.6版本下的同一个目录
以上步骤完成后重启wampserver就行了
然后再本地测试是否可以通过https去访问localhost
如果可以通过 https://localhost/ 访问成功,说明https已经部署完成了
但是当通过外网去访问的时候会发现连接不上服务器,楼主研究了一个下午才发现,是因为443端口没开启(在服务器上开启貌似没用),所以导致通过https去访问网站是访问不了的
然后发现只要去服务器提供商的网站上建立一个新的入站规则就可以访问443端口了,例如楼主的服务器提供商是华为的,所以前去华为的网站开启了443端口,开启后就可以通过外网去访问网站啦。
去提供商开启端口这个好多文档都没有说明,所以楼主前来记下踩过的坑,以免其他小伙伴继续掉坑。
最后
以上就是香蕉月饼为你收集整理的wampserver3.0.6部署https的全部内容,希望文章能够帮你解决wampserver3.0.6部署https所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复