小程序正式上线服务器端是需要https支持的,购买云服务器好像可以支持一键配置,就省去了很多麻烦。
如果是https手动配置还是挺麻烦的,对于windows服务器,可以参考我之前做的:
使用集成环境完成配置后,运行时,网址是这样的:
[http://localhost/web/index.php?s=store/passport/login](http://localhost/web/index.php?s=store/passport/login)
(即便使用正式备案域名,也是http://www.XXX.com)
这是没法满足小程序https加密协议访问需求的。
想要域名支持https,就要服务器安装ssl证书。
网上流传的比较多的版本是,安装某国外证书,确实挺高大上的,借助工具还能自动续有效期,但是尝试过,申请确实需要门槛,英文表单,填起来比较费劲,Linux玩的6的可以,网上有命令,自动就给服务器申请、安装了,我玩windows比较多(屌丝),所以觉得阿里云、腾讯云的SSL证书还是比较靠谱的,最重要是免费 免费 免费。
下面开始搞(此处以阿里云为例,腾讯云操作类似):
1、登陆阿里云

如图所示,找到ssl证书申请入口,点“立即购买”,然后大吃一斤

这么贵,还玩个鸡毛。。。然鹅,当然有免费的了,只是阿里套路深,隐藏比较深,看下图

品牌这里选“Symantec”也就是赛门铁克(出卡巴斯基那个公司?)

然后点上面2那个位置,神奇的一幕出现了


OK,点击“立即购买”免费申请吧,到支付那一步骤,会自动支付成功的。
2、证书申请提交以后,有一个补录信息,需要把你要保护的网站域名填写上,注意了,这个务必填写正确,一经提交无法修改,而且免费的证书一般不支持子域名。提交后,还需要阿里云后台审核,一般1个小时左右就会审核通过,生成证书。
3、证书签发后是这个状态

这时候,咱们需要点击“下载”,把证书下载到咱们的服务器,接受ssl的安全保护。
下载的时候,因为我的服务器是phpstudy下面的apache+php组合,所以我选择证书种类是
apache证书

证书下载下来是一串数字的.zip压缩包,解压以后内容如下:

然后根据阿里云证书配置指南,如下图的指示去操作

4、下面以phpstudy为例进行安装证书演示(# 良心操作啊,市面上见不到)
根据阿里云的证书安装指南:先建立cert目录

然后把刚才解压出来的证书文件拷贝到这个目录下
接着打开apache下的conf目录下的

推荐使用专业编辑器打开(比如:notepadd++),不建议使用记事本、写字板等打开,容易影响编码,导致配置文件加载失败
打开后,使用搜索功能,在全文搜索“
#LoadModule ssl\_module modules/mod\_ssl.so (如果找不到请确认是否编译过 openssl 插件)
#Include conf/extra/httpd-ssl.conf”
这两句配置文件
如果搜不到,记得把前面“#”去掉,因为可能配置文件默认已经把#去掉了,找到这个

把前面#去掉,也就是把注释去掉,让这一行生效,调用extra目录下httpd-ssl.conf这个配置文件,这个文件才是真正配置证书的文件
5、打开httpd-ssl.conf后,对照着安装指南进一步操作,
首先:搜索这个协议支持配置 SSLProtocol all -SSLv2 -SSLv3,发现搜索不到,那就在空白处,把这一句粘贴上
其次:SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM这个发现也没有,OK,空白处继续加上
接着:SSLHonorCipherOrder on也没有,继续加上喽
然后:搜索SSLCertificateFile,发现这一个是有的,注意要修改前面不带#的哪一个

注意,按照阿里云证书安装指南,可能会报错,尝试多次发现,这个证书的路径,最好是绝对路径,而不是这种cert/public.pem相对路径
也就是:SSLCertificateFile "/Apache24/conf/server.crt" 要改成
SSLCertificateFile "D:/phpStudy/Apache/cert/public.pem"
然后:继续搜索SSLCertificateKeyFile
同样的,修改前面不带#哪一个
SSLCertificateKeyFile "/Apache24/conf/server.key"要改成
SSLCertificateKeyFile "D:/phpStudy/Apache/cert/214542853950366.key"
最后:搜索SSLCertificateChainFile,找到
#SSLCertificateChainFile "/Apache24/conf/server-ca.crt"
把前面#去掉,修改成:
SSLCertificateChainFile "D:/phpStudy/Apache/cert/chain.pem"
6、到此,证书安装就全部完成了,重启phpstudy的apache应该就可以运行ssl证书了,如果遇到启动失败,使用下面方法进行排查(良心之作,记得赞赏哦。。。)
打开cmd命令行,进行如下操作

查看报错信息,根据报错信息,一步一步修改,继续运行,一般到最后都能正常使用。
OK,到此为止,你的服务器域名就支持https喽,可以愉快地玩耍小程序了。
对于自己的linux服务器,如果使用宝塔面板的话,申请完免费的证书后,按宝塔的指引上传证书文件就可以了,比较省心。