×

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

96
BlackRun
2016.08.26 10:09* 字数 537

搭建ngrok所需要的服务器,推荐阿里云

阿里云高性能服务器2折起:点我购买

学生云服务器114/年:点我购买

研究了几天,终于知道了怎么使用自己的证书的让网站支持https而浏览器不拒绝了.英文好的直接看这篇文章就好.
https://github.com/inconshreveable/ngrok/blob/master/docs/SELFHOSTING.md#4-run-the-server
在此吐槽下自己的渣英文,这篇文章几天前就看过,但是因为自己的英文水平理解上有偏差,最后还是在一位朋友的帮助下翻译了文章才搞定了https.

其实步骤和上述文章里差不多

1、首先去买一个ssl证书,或者申请一个免费的。然后把你的证书上传到ngork服务端所在的服务器。(我的证书是一个crt和一个key文件)

2、将你的域名泛解析到你的服务器。

3、使用下面的命令运行服务端:

sudo bin/ngrokd -domain="testngrok.win" -tlsKey="/usr/local/src/ngrok/4.key" -tlsCrt="/usr/local/src/ngrok/3.crt"

其实就是在你原先的命令上加tlskey和tlscrt的路径,这两个就是你的证书所在路径.

4、客户端cfg文件里,使用hostname+https的方式启动客户端(hostname就是你证书的域名)
然后在客户端第二行设置如下参数:

trust_host_root_certs: true

5、确认服务端的启动参数-domain以及客户端cfg文件中的server_addr和证书的域名是同一个,否则会报错误证书的错误。(可以在客户端加上参数-log=log.txt查看日志)

6、如果你申请的是免费的证书,可能crt文件不带中间商和根证书,这时需要你去网站上把所有证书合在一起,否则在linux上使用客户端会出现"certificate signed by unknown authority"的错误,参考http://m.ithao123.cn/content-2350159.html

到此如果没有什么问题,你的网站就可以用https访问了,而且浏览器也不会再提示是不安全的网站了。

折腾
Web note ad 1