Ngrok 添加Certbot SSL证书

1.使用 Let's Encrypt(Certbot)生成证书

  • 安装
$ wget https://dl.eff.org/certbot-auto
$ chmod a+x ./certbot-auto
$ ./certbot-auto  # 这个小工具会自动下载并安装相关依赖和 Python 包。稍等一下就完成了。
  • 生成证书:

生成证书过程中需要鉴权。有多种方式,比如 webroot 、 standalone 、 apache、 nginx 、 manual 等。我使用过前两种。 这两种中,简单一点的是 standalone。不过,这种方式需要把现有的 WebServer 停掉,因为这种方式下 certbot 需要占用 80 端口。

# ./certbot-auto certonly --text --agree-tos --email webmaster@example.com --standalone -d example.com -d www.example.com -d service.example.com

-d 参数指定域名,可多个。一般第一个是主域名。

webroot 方式稍微繁琐一些,但好处是不需要关停现有的 WebServer 。此方法需要在域名对应的根目录下新建 .well-known 目录并写入若干文件供验证服务访问。 因此需要配置 WebServer 允许外部访问 http://example.com/.well-known 路径。配置方法请参考相应 WebServer 的文档。Nginx 的默认配置应该不用修改,Apache 就不知道了。 另外,不同的域名的根路径可能不同,下面的例子中可以看到为不同的域名指定不同的根路径。

# ./certbot-auto certonly --text --agree-tos --email webmaster@excample.com --webroot -w /var/www/example -d example.com -d www.example.com -w /var/service/example -d service.ulefa.com

无论使用那种方式,运行以上命令后都会在 /etc/letsencrypt 生成一堆东西,包括证书。

cert.pem  - Apache服务器端证书  
chain.pem  - Apache根证书和中继证书  
fullchain.pem  - Nginx所需要ssl_certificate文件  
privkey.pem - 安全证书KEY文件

2.安装ngrok

centos环境(其他环境自行安装部署)

  • 环境安装
yum -y install zlib-devel openssl-devel perl hg cpio expat-devel gettext-devel curl curl-devel perl-ExtUtils-MakeMaker hg wget gcc gcc-c++ git

go语言环境

#请下载合适自己的go语言包  我是centos 6.8 64位 所以选择以下包
wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.8.3.linux-amd64.tar.gz
vim /etc/profile
#添加以下内容:
export PATH=$PATH:/usr/local/go/bin
source /etc/profile
#检测是否安装成功go
go version
  • 安装服务器

下载ngrok源码包

mkdir /ngrok
cd /ngrok
git clone https://github.com/inconshreveable/ngrok.git
  • 覆盖证书([example.com] 自行替换,提示覆盖记得输入Y确认)

客户端证书

cp /etc/letsencrypt/live/example.com/chain.pem assets/client/tls/ngrokroot.crt   

服务端证书

cp /etc/letsencrypt/live/example.com/cert.pem assets/server/tls/snakeoil.crt  
cp /etc/letsencrypt/live/example.com/privkey.pem assets/server/tls/snakeoil.key    
  • 编译

服务端编译

编译生成ngrok
go env //查看环境
GOOS=linux GOARCH=amd64 make release-server

后台运行(端口自行更改)

cd /ngrok/ngrok
setsid ./bin/ngrokd -tlsKey="assets/server/tls/snakeoil.key" -tlsCrt="assets/server/tls/snakeoil.crt" -domain="example.com"  -httpAddr=":80" -httpsAddr=":443" -tunnelAddr=":4443"

编译生成win64位客户端(其他自行编译测试)

GOOS=windows GOARCH=amd64 make release-client
#编译成功后会在ngrok/bin/下面生成一个windows_amd64目录下面有ngrok.exe

# Linux 平台 32 位系统:GOOS=linux GOARCH=386
# Linux 平台 64 位系统:GOOS=linux GOARCH=amd64
# Windows 平台 32 位系统:GOOS=windows GOARCH=386
# Windows 平台 64 位系统:GOOS=windows GOARCH=amd64
# MAC 平台 32 位系统:GOOS=darwin GOARCH=386
# MAC 平台 64 位系统:GOOS=darwin GOARCH=amd64
# ARM 平台:GOOS=linux GOARCH=arm

配置文件

# 复杂配置ngrok.cfg
server_addr: "myngrok.com:4443"
trust_host_root_certs: ture #验证ssl证书

tunnels:
  www:
    subdomain: "www"
    proto:
      https: "8081" #SSL 
      http: "8081"
  m:
    subdomain: "m"
    proto:
      https: "8082"

启动服务

ngrok -config=ngrok.yml start www    #启动www服务
ngrok -config=ngrok.yml start www m  #启动两个服务
ngrok -config=ngrok.cfg start-all  #启动所有服务

//出现以下内容表示成功链接:
ngrok

Tunnel Status                 online
Version                       1.7/1.7
Forwarding                    https://www.example.com -> 127.0.0.1:8081
Forwarding                    http://www.example.com -> 127.0.0.1:8081
Forwarding                    https://m.example.com -> 127.0.0.1:8082
Web Interface                 127.0.0.1:4040
# Conn                        0
Avg Conn Time                 0.00ms

参考资料

GitHub : certbot

CSDN:[原创] 编译 ngrok 时如何使用 Let’s Encrypt 免费证书

Let's Encrypt证书生成,certbot-auto 生成ssl通用证书 配置https 自动续期

centos下自己架设ngrok服务器(内网测试神器)

[ngrok内网穿透]---实现https安全访问

ngrok使用自己的证书通过https访问

GitHub: How to run your own ngrokd server

使用 Let's Encrypt(Certbot) 配置 HTTPS

nginx接入let's encrypt

[转]全民https时代,Let's Encrypt免费SSL证书的申请及使用(Tomcat版)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,176评论 5 469
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,190评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,232评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,953评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,879评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,177评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,626评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,295评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,436评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,365评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,414评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,096评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,685评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,771评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,987评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,438评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,032评论 2 341

推荐阅读更多精彩内容