最近团队要做微信小程序的开发,需要用到https,以前搭建的ngrok由于使用的是自己签发的证书,所以网址栏会显示大大的红叉,对于强迫症的人实在是难受,搜索了网上的教程及结合自己的摸索,现记录下来,方便后人能方便的配置。

第一部分 申请AlphaSSL 泛域名证书

因为使用的是4级域名,并且域名不可确定,所以需要申请泛域名证书。本次申请的是免费的泛域名证书。

准备域名邮箱

由于证书验证需要域名邮箱作验证,所以首先需要准备好接收邮件的域名邮箱。

域名邮箱可以选择 QQ 域名邮箱,很简单方便,也有操作指南,设置好 MX 解析后用另一个邮箱给域名邮箱发一封邮件测试无误即可。目前 QQ 邮箱并没有屏蔽 AlphaSSL 发来的邮件,因此可以放心使用。必须使用下面的 用户名@域名 邮箱之一才能接收到验证邮件:

1

2

3

4

5admin@your-domain.com

administrator@your-domain.com

hostmaster@your-domain.com

postmaster@your-domain.com

webmaster@your-domain.com

具体步骤自己摸索下,这里就不细说了。

如果有自己的企业邮箱,也是可以使用的,但是一定要添加上面格式的邮箱账户才可收邮件,谨记!

准备CSR 文件

AlphaSSL 证书的申请,需要先提交域名的 CSR(证书请求文件),然后用域名邮箱作验证,保证你是这个域名的所有者。CSR 很好生成,可以用 openssl 在本地生成,也可以去各大工具网站在线生成。

本次使用https://www.chinassl.net/ssltools/generator-csr.html来生成CSR文件。

填写完信息后,最好勾选上发送生成的CSR文件到上面输入的邮箱。

注意:域名这里填写*.tunnel.51ngrok.cn,大家根据自己的域名填写。一定保存好生成 CSR 文件时同时生成的 Key 文件,部署证书时要用。

域名的准备工作

申请证书的页面需要你填写一个 Email Address.

这里最好填写域名的联系人邮箱(在域名提供商那里可以查询得到的),这是接收证书的邮箱,填写其它邮箱可能会不能接收到邮件,一定要注意。

另外最好关闭域名保护与清除域名的CNAME记录,防止AlphaSSL无法校验域名信息。

收到邮件后的工作

同意申请链接只能点击一次

在域名邮箱收到验证邮件之后,点击 I Approve,AlphaSSL 便会把证书的 CRT 以邮件内容的形式发送给你,注意,I Approve 这个按钮只能点击一次,点击后不管有没有收到邮件,都会失效。因此接收证书的邮箱一定要填对,确保可以收到 CRT。

合并证书

在收到的邮件最下方就是你申请的域名证书。

新建一个文本文件,把邮件中的域名证书内容粘贴进去,这里要注意的是需要包含 BEGIN 这行。

文本文件后缀改为.crt的证书文件。这个crt文件是可以直接部署到服务器上,并且不会因为证书链不完整而被浏览器报错。

第二部分 把证书编译进ngrok

准备证书

在AlphaSSL官网下载Root CA,并重命名为ngrokroot.crt

快速下载地址:点我下载

把上面合成的证书重命名为snakeoil.crt

把申请证书时生成的私钥key文件重命名为snakeoil.key

把ngrokroot.crt拷贝到assets/client/tls/文件夹下覆盖原来的文件

把snakeoil.crt拷贝到assets/server/tls/文件夹下覆盖原来的文件

把snakeoil.key拷贝到assets/server/tls/文件夹下覆盖原来的文件

拷贝snakeoil.key到bin文件夹内

拷贝snakeoil.crt到bin文件夹内

编辑ngrok服务端与客户端编译生成ngrok服务端1

2

3#如果是32位系统,这里 GOARCH=386

GOOS=linux GOARCH=amd64

make release-server release-client

编译之后,就会在ngrok源码的bin目录下生成两个可执行文件:ngrokd、ngrok。其中ngrokd就是ngrok的服务端程序,ngrok就是ngrok的客户端程序。由于现在生成的客户端ngrok只能在linux下运行,因此如果想要生成windows下的客户端程序,需要继续进行交叉编译。

交叉编译生成windows客户端1

2

3#如果是32位系统,这里 GOARCH=386

GOOS=windows GOARCH=amd64

make release-server release-client

运行ngrok服务端1./ngrokd -domain="tunnel.51ngrok.cn" -httpAddr=":8080" -httpsAddr=":8081" -tlsKey="snakeoil.key" -tlsCrt="snakeoil.crt"

推荐使用screen管理!

第三部分 配置nginx

修改nginx配置文件,添加如下内容

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17server {

listen 80;

listen 443;

server_name *.tunnel.51ngrok.cn;

location / {

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header Host $http_host:8080;

proxy_set_header X-Nginx-Proxy true;

proxy_set_header Connection "";

proxy_pass http://127.0.0.1:8080;

}

ssl on;

ssl_certificate /usr/ngrok/bin/51ngrok.crt;

ssl_certificate_key /usr/ngrok/bin/51ngrok.key;

ssl_session_timeout 5m;

}

ngrok配置信息_ngrok配置https相关推荐

  1. 微信公众号 接口配置信息 URL 配置失败(能进入后台方法,无返回信息)

    微信公众号 接口配置信息 URL 配置失败(能进入后台方法,无返回信息) 操作步骤:1.微信公众号输入url.token点提交,提示配置失败. 后台代码: @ResponseBody@RequestM ...

  2. ngrok配置信息_ngrok内网穿透服务器搭建及配置(附 frp 配置)

    12月18日更新 添加 frp 配置 前言 内网穿透,无需多言,用处多多.首先强力推荐一款Sunny大大搭建的ngrok服务好用的不行,而且有免费选项,感觉平时够用了.那么,为什么自己还要搭建一个呢? ...

  3. SpringBoot基础篇配置信息之配置刷新

    2019独角兽企业重金招聘Python工程师标准>>> 更多Spring文章,欢迎点击 一灰灰Blog-Spring专题 配置的刷新,从第一篇就提出了这个问题,但是一直都没有说到,那 ...

  4. 微信支付申请测试号 -- 填写接口配置信息提示配置失败

    背景 对接微信支付开发时需要申请商户号和公众号,对于个人开发来说门槛相对偏高,我们可以在微信官方申请测试号.微信官方申请链接 申请方式 主要就是第二步在填写接口配置信息的时候,经常会提示配置失败,具体 ...

  5. 微信测试号管理——接口配置信息的配置

    微信测试账号配置 ---接口配置信息 进入https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 获取测试账号appId 和 se ...

  6. 计算机手动配置信息,手动配置 IPv6

    1安装ipv6的协议 在"开始"-----"运行"----"cmd"后回车,[输入"netsh   interface  ipv6 ...

  7. 微信接口配置信息总是配置失败

    微信接口配置信息修改是微信测试开发经常用到的,但是本人在最近学习中经常配置不成功,而且token并没有错误,经过了多次查看代码,甚至将微信官方代码放上去配置仍然不行后,终于在茫茫百度中找到了答案,没错 ...

  8. linux删除配置信息,linux 配置信息

    # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostn ...

  9. SEO配置信息操作文档

    一.title(网站标题) title,就是浏览器上显示的那些内容,不仅用户能看到,也能被搜索引擎检索到(搜索引擎在抓取网页时,最先读取的就是网页标题,所以title是否正确设置极其重要.)title ...

最新文章

  1. vscode前端开发中的快捷键说明
  2. mysql迅速搭建网页_Django + mysql 快速搭建简单web投票系统
  3. 【深度学习】编写同时在PyTorch和Tensorflow上工作的代码
  4. ORACLE数据库实现自增的方式
  5. 绑定dictionary 给定关键字不再字典中_VBA数组与字典解决方案第51讲:字典嵌套及二级下拉菜单的制作...
  6. 您的UX库不只是书籍
  7. Python学习笔记(随机数)
  8. chromedriver : Saving to 安装卡住 解决
  9. atitit.动态加载数据库配置in orm hibernate mybatis
  10. python爬虫需要调用什么模块_适合新手练习的Python项目有哪些?Python爬虫用什么框架比较好?...
  11. 整理Oracle日期时间函数
  12. TCP/IP 报文格式(IP数据包、TCP报头、UDP报头)
  13. Android开发——项目实例(一)迷你背单词软件
  14. 智能机器人根据其智能程度不同,主要分为哪些类型?
  15. 外卖cps返利小程序饿了么美团对接公众号返利系统分销系统源码
  16. Bestcoder13 1003.Find Sequence(hdu 5064) 解题报告
  17. 神级 IDEA 插件,能让你的代码飞起来!
  18. 海信、索尼“圈层化”、美的、小天鹅奔向“拼多多”,家电品牌谋新路
  19. msib450i gaming plus ac 开机vga长亮
  20. VMware内CentOS-7-Minimal的安装与配置(详细图文教程)

热门文章

  1. 实现uniapp的app和小程序开发中能使用axios进行跨域网络请求,并支持携带cookie
  2. SSH三大框架笔面试总结
  3. Revit二次开发——向量判断平行与垂直
  4. HYM8563驱动分析
  5. Jquery的简单使用
  6. ucos+ucgui(2)
  7. bitmap亮度的互转,RBG获取等
  8. Python 条件判断 If
  9. 计算机网络与应用初稿,《计算机与网络应用》初稿
  10. X-Forwarded-For