本篇不讲什么是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接口时还是报错,可以参考这篇寻找解决之法。

转载于:https://www.cnblogs.com/bainiu/p/7680894.html

微信小程序开发之https从无到有相关推荐

  1. 微信小程序开发之https

    微信小程序开发要求 注意:申请SSL证书使用微信小程序开发接入域名(微信服务器配置信息).配置好的SSL证书去ATS检测确定符合小程序要求 微信小程序开发要求,需要域名满足https 在腾讯云或者华为 ...

  2. 微信小程序开发之scroll-view上拉加载数据实现

    微信小程序开发之scroll-view上拉加载数据实现 一.开发思路 1.使用小程序的scroll-view组件中提供了一个bindscrolltolower属性监听组件的滑动到了底部 https:/ ...

  3. 微信小程序开发之SVG的使用

    因为工作的原因,最近开始接触并且了解微信小程序.太久没有写或者看过前端相关的代码,加上小程序本身的bug也比较多,中间发现坑还是不少,后面逐渐整理总结一下.这一篇先总结一下svg在小程序中的使用. S ...

  4. 微信小程序开发之wxss中的那些事(一)

    微信小程序开发之wxss中的那些事 微信小程序开发中,页面的布局怎么整? 啥是WXSS? 基本语法 什么是rpx 什么是 flex 微信小程序开发中,页面的布局怎么整? 各位道友请留步,如果你是新手, ...

  5. 微信小程序开发之webview组件内网页实现微信原生支付

    前言.背景 本人目前的工作岗位是安卓工程师,在这之前对于前端和后台的知识基本是白纸,只是在日常的工作项目中有需要和小伙伴进行对接的时候接触了那么一丢丢,对于前端和后台的一些专业描述和理解有不当之处还请 ...

  6. 微信小程序开发之从“跳伞”到“吃鸡”

    写在前边 微信小程序随着官方开放越多越多的接口,也是变的越来越火了,越来越多的企业已经开始布局小程序生态.所以,对于我们开发者来说,掌握小程序开发显得分外重要.如果点亮了该技能,那么离升职加薪赢取白富 ...

  7. 微信小程序开发之mpVue

    1 mpVue是什么 1.1 简介 美团工程师推出的基于Vue.js封装的用于开发小程序的框架 融合了原生小程序和Vue.js的特点 可完全组件化开发 1.2 特点 组件化开发 完成的Vue.js开发 ...

  8. 微信小程序开发之formId使用(模板消息)

    基于微信小程序的模板消息 下发条件:用户本人在微信体系内与页面有交互行为后触发 1. 使用说明 1.1 获取模板id 登录https://mp.weixin.qq.com获取模板,如果没有合适的模板, ...

  9. 微信小程序开发之.js文件

    1.注册小程序 App()函数用于注册一个小程序,参数为一个Object(可以把它理解成为一个类似于C++里的对象,在里面我们封装了一些基本的数据类型也就是我们所称的属性,还有一些方法,也就是我们所称 ...

最新文章

  1. 【Linux】类Unix 操作系统进程监控控制工具 Supervisor
  2. 【LVS】负载均衡集群
  3. linux 并行计算命令,Linux下的并行神器——parallel
  4. springboot中radis配置和使用【进阶二】
  5. Android画图之Matrix(一)
  6. Codeforces Round #725 (Div. 3) 题解
  7. hdu 4560 拆点最大流 ***
  8. 下面哪个对象能代表当前的HTML文件,Java基础练习选择题(5)
  9. Javascript知识汇总------获取构造函数constructor名称和一些字符串处理方法
  10. 清华大学c语言程序设计课件,c语言清华大学课件
  11. 微信小程序 Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded(二)
  12. 通达OA流程中心触发器使用实例
  13. MIP启发式算法:local branching
  14. rsa 模数 指数转换 c语言_CTF中RSA的一些攻击思路
  15. codec engine 编译
  16. 【Electron】 NSIS 打包 Electron 生成exe安装包
  17. 小学生python游戏编程2----飞机大战1
  18. 解决viewpager setCurrentItem 白屏问题
  19. 耐心排序之最长递增子序列(LIS)
  20. pandas dataframe删除空行或者空列dropna,一般删除指定行或者列drop

热门文章

  1. Oracle 事务概述
  2. mybatis中传入String类型参数的问题
  3. 应用程序_Blazor VS 传统Web应用程序
  4. 哒螨灵使用注意事项_杀螨最优组合,老的、少的、没出生的,都管用
  5. c语言流程图char,求救!各位大神,用程序流程图怎么描述下面这个???
  6. linux添加以太网头部函数,linux – 在内核模块中创建一个以太网数据包并发送它...
  7. win10显示隐藏文件_如何在Mac上显示隐藏文件?苹果mac显示隐藏文件夹方法
  8. 企业人员管理项目咨询_祝贺直线管理咨询与振野智能营销咨询项目启动
  9. mysql维护 运维_MySQL运维之--日常维护操作
  10. java利用poi读取excel_java利用POI 读取EXCEL