欢迎光临,了解微信小程序开发,就上易用通!

微信小程序里使用免费的https证书

发布:2018-01-27 10:48浏览: 来源:网络 作者:cola

在小程序的文档里我们看到这么一个重要接口说明。

 

wx.request发起的是https请求。一个微信小程序,同时只能有5个网络请求连接。

 

而小程序需要同服务器交互的时候,必定要用到这个接口。

https?

 

 

对于大部分同学来说,了解https的详细过程似乎没太大必要,我们直接先说第一个结论。

 

微信小程序里使用免费的https证书(图1)
 
https证书一般是需要购买的,而且价格不低。

 

 

自己签发的证书是不被公众认可的,所以就要找大机构拿证书。这时候就要交证书的费用。

比如下图:

微信小程序里使用免费的https证书(图2)

 

最近的某Sign公司的证书又出了信任危机,有没有更有性价比的方案呢?有!!同城圈联盟现在就教你免费获得靠谱的https证书!

 

我们先教大家如何获取和配置证书!下面一段适合程序员来看。非程序员需要配置的,可以联系离你最近的程序员(比如页面底部那个)请教他。

 

前提:Linux服务器,Python2.7

 

首先从著名同性交友社区下载需要的脚本和配置模板

 


然后可以看到 letsencrypt.conf 的内容是这样的

微信小程序里使用免费的https证书(图3)

 

DOMAIN_KEY是保存的文件名,比如我们设成 sub.mydomain.cn.key 

DOMAIN_DIR是WEB的根目录,也就是/index.html, /index.php … 所在的那个目录。

DOMAINS是这个WEB目录上绑定的域名。常见的就是根域或是www域,或是你需要的子域名。

 

比如我修改成这个样子

 

?
ACCOUNT_KEY="letsencrypt-account.key"
DOMAIN_KEY=“sub.mydomain.com.key"
DOMAIN_DIR=“/var/www/path/to/mydomain/"
DOMAINS=“DNS:sub.mydomain.com"
?

 

 

然后确认 sub.mydomain.com 是可以正常访问的。因为生成证书的时候会对域名可访问性做验证。

 

然后执行

./letsencrypt.sh letsencrypt.conf

 

如果正常的话,这时候会在当前目录下生成一堆文件。

其中会有一个 sub.chained.crt 和 sub.mydomain.com.key 。这两个文件一会儿我们会用到。

现在去 nginx 下添加一个443端口的虚拟主机。

 


				
  1. server
    {
    listen 443;
    ssl on;
    ssl_certificate /root/letsencrypt/sub.chained.crt;
    ssl_certificate_key /root/letsencrypt/sub.mydomain.com.key;
    server_name sub.mydomain.com;
    index index.php;
    root /var/www/path/to/mydomain/;
    if (-f $request_filename/index.php){
    rewrite (.*) $1/index.php;
    }
    if (!-e $request_filename){
    rewrite (.*) /index.php;
    }
    
    location ~ .*\.(php|php5)?$
    {
    fastcgi_pass 127.0.0.1:9001;
    fastcgi_index index.php;
    include fastcgi.conf;
    }
    }

红字部分需要重点看!(敲黑板)

重启 Nginx ,访问 https://sub.mydomain.com 就发现有绿色的证书标志啦!

对的,这个过程中我们没花一分钱。

 

证书都会过期的嘛,但这个证书是可以免费续期的!

先在 letsencrypt.sh 的最后加一行 service nginx reload 

表示执行成功之后重启一下 Nginx。

然后在crontab里加一行,表示每个月1号0点自动续期,这样就可以保证这个证书状态一直是正常的了。记得改!路!径!

 

0 0 1 * * /etc/nginx/certs/letsencrypt.sh /etc/nginx/certs/letsencrypt.conf >> /var/log/lets-encrypt.log 2>&1

 

如果你用的是Apache,那把 Nginx 配置https的方法换成 Apache 对应的就可以了,证书获取方法是不一样的。

 

这个证书实际是从 letsencrypt.org 项目获得的。

 

Let’s Encrypt CA项目由Mozilla、思科、Akamai、IdenTrust和EFF等组织发起,向网站自动签发和管理免费证书,加速将Web从HTTP过渡到HTTPS。ISRG则是开发Let’s Encrypt CA的非营利组织。而目前,Let's Encrypt项目和互联网安全研究组(ISRG)都有Linux基金会托管。

 

所以证书的干爹还是靠谱的。

写这个教程的同学也是靠谱的。

 

可能有的同学会找到官方的一个脚本来安装证书,为什么本文不推荐?因为那个脚本需要暂停Web服务!这篇文章的方法就不需要长时间暂停Web服务了。

 

现在你可以创建一个 https 站点,然后通过小程序调用这个接口了。有点爽么?






免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。