微信小程序正式上线,服务端请求必须HTTPS

栏目: IT技术资讯 发布于: 2017-01-11 23:40:48

1月9日凌晨微信小程序正式上线,首批上线的小程序有三百多家,用户需要将微信更新至iOS6.5.3版本或Android6.5.3版本进行体验。

 

微信小程序自9月份首次开启内测就开始在圈内刷屏了,不需要下载安装,“用完即走”的理念,使其被誉为“APP杀手”。微信庞大社交用户基础,可能带来的业务爆发性上,这一波微信红利,开发者怎可错过?

 

但是微信对小程序也是有诸多的限制,例如文件大小、请求服务端必须是https等等。实现服务器端HTTPS请求,需要在服务器端配置SSL证书实现。说到SSL证书,很多开发者会觉得头大,因为SSL证书涉及多个种类,如何选择才能符合小程序的要求?如何配置SSL证书到服务器端?本篇要讲的就是在最短的时间内,让你的网站从http升级到https。如果你开发的微信小程序还没有启用https,那么这篇也许可以帮到你。

 

SSL证书的作用


HTTP明文协议是不安全的传输协议,无法进行服务器端真实身份校验,也不能为传输数据提供加密保护,通过HTTP协议传输的数据时刻处在被窃听、篡改、冒充的风险中。HTTPS传输协议在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信进行加密,确保数据传输到正确的服务器端,并防止中间人窃取传输数据。

 


目前全球互联网正在从HTTP向HTTPS的大迁移,Chrome和火狐浏览器将对不采用HTTPS加密的网站提示不安全,苹果要求所有APP通信都必须采用HTTPS加密,小程序强制要求服务器端使用HTTPS请求,正是顺应了互联网安全的趋势。

 

微信小程序对HTTPS的要求


每个微信小程序必须事先设置一个通讯域名,并通过HTTPS请求进行网络通信,不满足条件的域名和协议无法请求。也就是说,请求request地址必须是合法域名,需要有SSL证书认证过。

 

SSL证书的选择


目前市面上的主流SSL证书可分为三大类,DV SSL证书(域名验证型)、OV SSL证书(企业验证型)、EV SSL证书(扩展验证型)。



 

DV SSL证书

DV SSL证书之所以被称为域名验证型SSL证书,是因为在申请时CA机构只审核域名的所有权,不验证域名所有者的真实身份。我们使用SSL证书,不仅仅用于传输加密,还因为它代表着网站身份是真实的、经过验证的,而DV SSL证书只能实现传输加密,无法验证网站所有者身份,是不完整的SSL证书产品,通常只适用于产品测试、个人网站、个人博客等方面。


企业级微信小程序在测试阶段可以选用沃通DV SSL证书,但是在正式上线后,最好换成企业级别的沃通OV或EV SSL证书。

 

OV SSL证书

OV SSL证书被称为企业验证型SSL证书,是因为申请时不仅需要验证域名所有权,还需要提交企业真实身份的验证材料,无法通过真实身份验证的用户,无法获取到OV级别的SSL证书,因此其具备加密传输和身份验证的完整功能。


如果您的小程序涉及多个域名,推荐使用沃通OV SSL证书可支持一张证书绑定一个顶级域名下的无数个通配符子域名或绑定100个多域名,是性价比很高的选择。


 


EV SSL证书

EV SSL证书被称为扩展验证型SSL证书,是因为申请EV SSL证书不仅需要验证域名所有权,按规定提交企业真实身份验证材料,还要求提供更加详细的企业信息(如具体营业地址等信息),并提供具有法律效力的证明文件(如律师函等)。经过EV级别验证的网站,身份真实可靠,浏览器也会对EV验证的网站进行特殊的品牌展示,比如浏览器地址栏显示绿色、直观展示网站所属单位名称等等,展现良好的品牌形象和公信力。


如果您的小程序涉及金融、网银、电商等安全信任级别较高的应用,推荐使用沃通EV SSL证书。




在产品性能标准化的SSL证书行业,优质服务成为开发者产品选型过程要考虑的重点。沃通CA不仅为开发者提供符合小程序要求的SSL证书,还将全程协助用户完成证书部署,免费协助用户安装证书、对证书部署的安全性进行例行检测、免费提供安全漏洞修补指南、耐心指导用户逐步完成优化配置,直至用户安全正确地部署好证书。


服务端配置SSL证书


从沃通申请到SSL证书后,会得到一个有密码的压缩包文件,以Ngnix为例,打开其中的for Nginx 文件可以看到 2 个文件,包括公钥、私钥。

 

打开Nginx安装目录下conf目录中的nginx.conf文件找到


#HTTPS server

 

#

 

#server {

 

# listen 443;

 

# server_namelocalhost;

 

# ssl on;

 

# ssl_certificatecert.pem;

 

#ssl_certificate_key cert.key;

 

#ssl_session_timeout 5m;

 

# ssl_protocolsSSLv2 SSLv3 TLSv1;

 

# ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;

 

#ssl_prefer_server_ciphers on;

 

# location / {

 

# root html;

 

# index index.htmlindex.htm;

 

# }

 

#}


将其修改为 :


server {

 

listen 443;

 

server_namelocalhost;

 

ssl on;

 

ssl_certificate sslkey/public.cer;(证书公钥)

 

ssl_certificate_keysslkey/private.key; (证书私钥)

 

ssl_session_timeout5m;

 

ssl_protocolsTLSv1 TLSv1.1TLSv1.2;

 

ssl_ciphersECDH:AESGCM:HIGH:!RC4:!DH:!MD5:!aNULL:!eNULL;

 

ssl_prefer_server_cipherson;

 

location / {

 

root html;

 

index index.htmlindex.htm;

 

}

 

}


保存退出,并重启Nginx。通过https方式访问您的站点,确认站点证书安装配置正确即可,其实没有想象的那么难。如果你使用的是其他服务器,点击【阅读原文】可以查看沃通CA 最全服务器SSL证书部署指南




本文转载于微信公众号: WoSign沃通CA(CAWoSign),更多微信文章请扫描关注公众号:

WoSign沃通CA

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处。
转载请注明:文章转载自 [http://www.php230.com]
本文标题:微信小程序正式上线,服务端请求必须HTTPS
IT技术书籍推荐:
GitHub入门与实践
GitHub入门与实践
大塚弘记 (作者), 支鹏浩 (译者), 刘斌 (译者)
《GitHub入门与实践》从Git的基本知识和操作方法入手,详细介绍了GitHub的各种功能,GitHub与其他工具或服务的协作,使用GitHub的开发流程以及如何将GitHub引入到企业中。在讲解GitHub的代表功能Pull Request时,本书专门搭建了供各位读者实践的仓库,邀请各位读者进行Pull Request并共同维护。 《GitHub入门与实践》旨在指导各位读者如何在开发现场使用GitHub进行高效开发,适合所有想要使用GitHub进行开发的程序员或团队阅读。
最新互联网资讯
Linux I/O 重定向基础
发布于 2017-01-19 18:03:54
深入 Linux I/O 重定向
发布于 2017-01-19 18:22:59
fastjson 1.2.24 发布,Java的JSON处理器
发布于 2017-01-19 18:30:02
通过Nginx定义Header头信息
发布于 2017-01-19 17:36:26
微信头条