如何申请小程序的HTTPS认证?
发布日期:2018-08-22微信小程序上线以来,一直备受用户的关注。让更多的开发者投入到小程序的开发中。但是,在展开小程序的工作前,必须要了解开发微信小程序的官方文档,通过文档我们知道小程序发出request请求链接地址必须为https。即所有服务器通讯必须使用 HTTPS 协议的安全连接。如果开发者仍旧使用http访问请求的话,只能使用开发环境的预览请求数据。一旦发布,所有请求数据均为失效状态。那么如何获取小程序的HTTPS认证呢?
三步完成小程序的HTTPS认证与部署
1、选定证书类型
HTTPS证书即SSL证书,是HTTP明文协议升级HTTPS加密协议必备的数字证书。为客户端(浏览器)与服务端(网站服务器)之间搭建一条安全的加密通道,对两者之间交换的信息进行加密。
SSL证书分为:EV SSL证书、OV SSL证书以及DV SSL证书三种类型,以及部分证书支持通配符和多域名的功能。开发者可根据自身情况选择不同类型的证书。
DV SSL证书(域名验证型):只验证域名所有适合个人网站、博客等站点使用;
OV SSL证书(企业验证型):验证网站所属单位身份,适合于中旬性企业级用户使用;
EV SSL证书(扩展验证型):扩展验证网站所属单位身份,适合高度信任的企业级用户使用。如金融行业的银行,电子商务平台。
2、申请证书
1)选定证书后,联系wosign的在线客服人员下单,沃通在华为云市场也提供免费SSL证书,支持1年期1个域名。
2) 登录华为云市场(app.huaweicloud.com),注册华为云帐户并完成实名认证。在搜索框搜索“沃通免费SSL证书”。
3、服务器部署SSL证书
证书成功签发后,会将证书下载链接发送至邮箱里,通过邮件里的链接下载证书文件,得到一个含密码的压缩包文件(密码为您自己设置的证书保护密码),里面包含适用多种服务器类型的证书文件,根据自己的服务器类型选择对应的证书文件,依照对应的服务器证书部署指南,将SSL证书文件部署到服务器上。
以Nginx服务器部署SSL证书为例:
打开Nginx安装目录下conf目录中的nginx.conf文件找到
#HTTPS server
#
#server {
# listen 443;
# server_name localhost;
# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_timeout 5m;
# ssl_protocols SSLv2 SSLv3 TLSv1;
# ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
将其修改为 :
server {
listen 443;
server_name localhost;
ssl on;
ssl_certificate sslkey/public.cer; (证书公钥)
ssl_certificate_key sslkey/private.key; (证书私钥)
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1TLSv1.2;
ssl_ciphers ECDH:AESGCM:HIGH:!RC4:!DH:!MD5:!aNULL:!eNULL;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
保存退出,并重启Nginx。通过https方式访问您的站点,确认站点证书安装配置正确即可。
相关资讯
微信小程序与第三方服务器通讯的域名必须满足以下条件:1、一个已备案的域名,域名不能加端口;2、域名必须配置ssl证书,也就是能通过https://访问;3、HTTPS 服务器的 TLS 版本必须大于等于1.2,就是要支持TLS 1.2及以上版本;4、微信小程序后台加上合法域名设置。
微信9月21日晚宣布“微信小程序开始内测”,并于11月3日宣布开始公测,官方需求文档要求后台使用HTTPS请求进行网络通信。
HTTPS 服务器的 TLS 版本必须大于等于1.2,就是要支持TLS 1.2及以上版本,否则会出现下图这样的情况,这个也是很多朋友经常掉的坑。微软官网的资料显示,windows服务器2008 R2以下系统都不支持TLS 1.2,所以xp、2003系统就不用折腾了。