搭建微信小程序 HTTPS 服务器,只需三步
知晓程序注:
微信小程序中,要求所有服务器通讯使用 HTTPS 协议的安全连接(即增加 SSL 加密)。
也就是说,除了按照小程序要求进行数据收发,还要为服务器配置加密证书。这就让不少小程序开发者非常头疼。
知晓程序(微信号 zxcx0101)今天为大家推荐这篇文章,可以帮助大家快速申请加密证书、配置 HTTPS 服务器,并尽快将小程序应用于生产环境中。
本篇文章以阿里云为例,展示证书申请、配置等。此方法也可举一反三,应用于其他云服务器中。
文 | 一斤代码
在小程序的生产环境中,如果需要调用服务器的 REST API 或 WebSocket,服务器必须提供安全的链接地址。也就是说,服务器需要使用 SSL 加密数据。
因此,我们需要在服务器中配置 SSL 加密。
第一步:申请服务器与域名
许多云服务商的云服务器配置是弹性的,可以根据自己的需要来选择合理的配置,如果你是个初学者为了学习用的话,一开始选择最低配置就行了。
当然,如果你有业务需求,也可以选择更高配置的服务器。
小程序的网络访问必须使用白名单中的地址,这意味着我们需要一个域名,便于加入微信的域名白名单中。
你可以在云服务商直接提供的域名购买服务中购买域名,也可以到域名服务商购买。
第二步:申请证书
很多国内外机构都提供 CA 证书签发认证,国内的如沃通,国外的如 Symantec。很多证书提供商的证书服务价格不菲,根据证书的不同功能,价格也是相差很大,最便宜的也要好几百一年。
现在也有免费的证书可以使用,比如 Let’s Encrypt。阿里云上也提供了免费的证书,申请起来很方便,我们就来看看怎么申请阿里云里的免费证书。
从阿里云的页面顶部菜单「产品与服务」里面,找到「CA 证书服务」。
进入页面后,点击页面右上角的「购买证书」按钮,进入证书选择界面。
在这里,我们可以选择「免费型 DV SSL」证书。
需要注意的是,申请一个这样的证书,只能对一个明细域名生效。也就是说,如果你有几个子域名,你需要分别为它们申请不同的证书。
购买完成后,可以在你购买的订单列表里点击「补全信息」,输入域名和个人信息等,提交给签发机构审核。
审核完成后,你的邮箱里会收到一封配置指导邮件。之后,你就可以在订单列表中下载到证书文件了。
证书文件里包含了一些适合 Apache、Nginx、IIS 等不同 HTTP 服务器可用的证书,这些都可以用于配置服务器的 SSL 加密。
第三步:在服务器中配置证书
由于我在服务器上安装的是 CentOS 和 Nginx,所以以下指令都是以 CentOS 为例。
首先,通过 yum
安装 Nginx。
yum install nginx
接下来,把服务器证书上传到服务器上,并配置 nginx.conf
文件(在 /etc/nginx
目录下),使其支持 HTTPS 协议。
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name _;
root /usr/share/nginx/html;
ssl on;
ssl_certificate "xxxxxx.pem"; #你的证书文件中的 pem 文件
ssl_certificate_key "xxxxxx.key"; #你的证书文件中的 key 文件
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
ssl_prefer_server_ciphers on;
include /etc/nginx/default.d/*.conf;
location / {
}
}
重启服务之后,服务器的 SSL 加密,就配置好了。接着,在解析服务的控制台中,为你的域名添加一条 A 解析记录,将你的域名指向你的服务器公网 IP 地址。大功告成!
接下来,你就可以在服务器中配置小程序数据交换模块了。当然,具体的配置根据不同的环境而有所不同,大家可以自行探索有关小程序的后端开发资料。
原文地址:http://www.jianshu.com/p/132eed84bc4f
本文由知晓程序授权转载,关注微信号 zxcx0101,回复「1228」获得全网第一本《小程序入门指南》电子书。