小程序正式上线服务器端是需要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、登陆阿里云 ![](https://box.kancloud.cn/377e79bb758eb942500900f4f45a22a4_763x720.png) 如图所示,找到ssl证书申请入口,点“立即购买”,然后大吃一斤 ![](https://box.kancloud.cn/9ea0db090dab54369226ec59e1995986_1694x884.png) 这么贵,还玩个鸡毛。。。然鹅,当然有免费的了,只是阿里套路深,隐藏比较深,看下图 ![](https://box.kancloud.cn/f3ad73e2b2b20e65790de2b66f5ebb3d_1220x683.png) 品牌这里选“Symantec”也就是赛门铁克(出卡巴斯基那个公司?) ![](https://box.kancloud.cn/45f33c7b9ec6a3d0111947c60f9c9e3d_1199x791.png) 然后点上面2那个位置,神奇的一幕出现了 ![](https://box.kancloud.cn/70130a869083c31bd9a5692100db0164_1166x832.png) ![](https://box.kancloud.cn/15ac780e2b4649fa8a0a152d211a2a99_1615x849.png) OK,点击“立即购买”免费申请吧,到支付那一步骤,会自动支付成功的。 2、证书申请提交以后,有一个补录信息,需要把你要保护的网站域名填写上,注意了,这个务必填写正确,一经提交无法修改,而且免费的证书一般不支持子域名。提交后,还需要阿里云后台审核,一般1个小时左右就会审核通过,生成证书。 3、证书签发后是这个状态 ![](https://box.kancloud.cn/95f929b4f2eec55e5f785b3c2628d4e6_1853x335.png) 这时候,咱们需要点击“下载”,把证书下载到咱们的服务器,接受ssl的安全保护。 下载的时候,因为我的服务器是phpstudy下面的apache+php组合,所以我选择证书种类是 apache证书 ![](https://box.kancloud.cn/c06530b2c5b728f79ed970ab0a1ec373_1403x837.png) 证书下载下来是一串数字的.zip压缩包,解压以后内容如下: ![](https://box.kancloud.cn/97fc1ed29416d74e29946903ea90671e_732x368.png) 然后根据阿里云证书配置指南,如下图的指示去操作 ![](https://box.kancloud.cn/5baeb618db01a17308f1566c096d4e80_1607x794.png) 4、下面以phpstudy为例进行安装证书演示(# 良心操作啊,市面上见不到) 根据阿里云的证书安装指南:先建立cert目录 ![](https://box.kancloud.cn/c0f2cebd4478b590fafc58a07ce11c4a_847x484.png) 然后把刚才解压出来的证书文件拷贝到这个目录下 接着打开apache下的conf目录下的 ![](https://box.kancloud.cn/a90562f3a06715d691e391c86350a7d7_687x413.png) 推荐使用专业编辑器打开(比如:notepadd++),不建议使用记事本、写字板等打开,容易影响编码,导致配置文件加载失败 打开后,使用搜索功能,在全文搜索“ #LoadModule ssl\_module modules/mod\_ssl.so (如果找不到请确认是否编译过 openssl 插件) #Include conf/extra/httpd-ssl.conf” 这两句配置文件 如果搜不到,记得把前面“#”去掉,因为可能配置文件默认已经把#去掉了,找到这个 ![](https://box.kancloud.cn/2ede5398ef8937b190668f8f016b603c_972x443.png) 把前面#去掉,也就是把注释去掉,让这一行生效,调用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,发现这一个是有的,注意要修改前面不带#的哪一个 ![](https://box.kancloud.cn/03085022a4ff8fb52f074d6d8245b0ba_814x416.png) 注意,按照阿里云证书安装指南,可能会报错,尝试多次发现,这个证书的路径,最好是绝对路径,而不是这种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命令行,进行如下操作 ![](https://box.kancloud.cn/0911aa2153840563347c53b1048cb274_919x578.png) 查看报错信息,根据报错信息,一步一步修改,继续运行,一般到最后都能正常使用。 OK,到此为止,你的服务器域名就支持https喽,可以愉快地玩耍小程序了。 对于自己的linux服务器,如果使用宝塔面板的话,申请完免费的证书后,按宝塔的指引上传证书文件就可以了,比较省心。