zoukankan      html  css  js  c++  java
  • 微信小程序开发之https从无到有

    本篇不讲什么是https,什么是SSL,什么是nginx

    想了解这些的请绕道,相信有很多优秀的文章会告诉你。

    本篇要讲的在最短的时间内,让你的网站从http升级到https。

    开始教程前再说一句:https你值得拥有。

    百牛信息技术bainiu.ltd整理发布于博客园

    起因
    最近段时间,微信小程序爆火,消息一出,各路豪杰,摩拳擦掌,跃跃欲试。

    都想这个坑(这里不多阐述,具体坑不坑,developer最清楚)里跳。微信对小程序也是有诸多的限制。

    例如文件大小,请求服务端必须是https。

    文件大小,好办,开发过程中尽量的控制文件,能复用的尽量复用。用不到的文件尽量不引用。本地的图片也尽量的少。

    可https,在国内线上用https的都不算多,更何况是开发过程中用https,应该就更少了吧。

    如果你正在开发微信小程序,并还没有https,那么巧了,那么我想,这篇可能可以帮到你。

    StartSSL免费SSL证书
    都说了是开发用(如果到了线上,想要https,相关的运维人员会搞定收费的https),那当然要用免费的。

    StartSSL就是个不错的选择。

    StartSSL
    StartSSL是StartCom公司旗下的SSL证书,提供免费SSL证书服务并且被主流浏览器支持的免费SSL,包括Chrome、Firefox、IE等浏览器都可以正常识别StartSSL,更主要的是StartSSL提供免费3年且可以无限续期的SSL证书,而且可以设置10个域名。

    StartSSL注册、登录
    1 进入注册页面

    进入https://www.startssl.com/SignUp。

    2 注册很简单只需要填个邮箱发送验证码

    3 然后填入获得的验证码,点击按钮后会跳转至设置密码

    4 注册成功后,会让你下载用于登录的证书,因为该网站提供了两种登录方式,客户端证书认证和邮箱登录(填写邮箱,获得验证码登录),个人感觉使用邮箱也很方便。

    申请免费的SSL
    1 先添加验证域名,选择选项卡的Validations Wizard,并选择Domain Validation (for SSL certificate)
    点击Validation

    2 填入域名,并在域名所有者邮箱(或域名对应的企业邮箱)中获取发送的验证码

    3 添加的域名验证成功,点击To "Order SSL Certificate "

    4 现在可以开始给自己的域名申请StartSSL免费SSL证书了,这里添加用于申请证书的完整的域名

    5 申请StartSSL免费SSL时,会要求填入CSR

    6 CSR 生成可以有两种方式,一种是使用StartSSL提供的[StartComTool.exe](https://download.startpki.com/startcom/startcomtool.exe)适用于Window,另一种方式也可以使用openssl命令,适用于Mac,liunx等。

    openssl req -newkey rsa:2048 -keyout yourname.key -out yourname.csr


    7 把生成的(youname.csr)CSR签名证书请求内容,粘贴进去

    8 然后StartSSL就可以免费SSL下载使用

    下载免费的SSL
    下载下来的SSL是zip格式的压缩包,解压后有如下内容

    分别提供了几种web服务所需的ssl认证文件

    nginx SSL配置
    这里只拿nginx举例,编辑nginx配置文件

    listen 443;
    ssl on;
    ssl_certificate /usr/local/nginx/conf/key/xxx.pem;
    ssl_certificate_key /usr/local/nginx/conf/key/xxx.key;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
    ssl_session_cache shared:SSL:50m;
    xxx.pem就是从StartSSL下载下来的NginxServer.zip中的文件xxx_bundle.crt(需要把后缀改成pem)

    xxx.key 这是之前执行 openssl req -newkey rsa:2048 -keyout yourname.key -out yourname.csr时生成的key.

    然后启动nginx ,输入密码(该密码是生成本地CSR时设置的)

    大功告成
    到这来,就可以使用https了,马上打开你的域名试试吧。

    其实在网上也能找到很多StartSSL的申请流程。可大多都是之前的,界面与操作方式都有所改变。这篇提供了最新的StartSSL申请流程,以帮助大家更快的进行SSL认证。

    看之前的教程,会告诉你,在第7步后不能马上下载SSL认证,StartSSL会有个客服审核的过程可能需要几小时,但现在的使用下来发现,现在已经没有这过程了,完成第7步就可以去认证的列表下载SSL认证。

    微信小程序请求 wx.request :fail
    本文的目的是为了微信小程序请求能使用https

    所以,最后如果在调用微信wx.request接口时还是报错,可以参考这篇寻找解决之法。

  • 相关阅读:
    Android Studio 单刷《第一行代码》系列 05 —— Fragment 基础
    Android Studio 单刷《第一行代码》系列 04 —— Activity 相关
    Android Studio 单刷《第一行代码》系列 03 —— Activity 基础
    Android Studio 单刷《第一行代码》系列 02 —— 日志工具 LogCat
    Android Studio 单刷《第一行代码》系列 01 —— 第一战 HelloWorld
    IDEA 内网手动添加oracle,mysql等数据源,以及server returns invalid timezone错误配置
    eclipse maven设置
    IntelliJ IDE 常用配置
    eclipse maven 常见问题解决方案
    Maven 安装和配置
  • 原文地址:https://www.cnblogs.com/bainiu/p/7680894.html
Copyright © 2011-2022 走看看