前面利用ngrok做了个内网穿透。

总体体验不错,唯一的不足的是泛域名的ssl问题(如无法满足小程序之类的调试)。

又因为博主大部分的域名来源于namesilo,没有良心云的人性化配置。

找了很久的方法,在此记录如下

1. 下载安装acme.sh脚本。

  
  wget -O -  https://get.acme.sh | sh

2. 申请Api Key。

https://www.namesilo.com/account_api.php

这里只需要填写解析的服务器ip。

顺便补充一下其他服务商方案:https://github.com/Neilpang/acme.sh/tree/master/dnsapi

3. 添加Api Key。


export Namesilo_Key="XXXXXXXXXXXXXX"

4. 申请证书。


acme.sh --issue --dns dns_namesilo --dnssleep 900 -d YourDomain.com -d *.YourDomain.com

等待证书签发完成。


[Sun Aug 12 19:59:30 CST 2018] Your cert is in /www/server/panel/vhost/cert/YourDomain.com/YourDomain.com.cer 
[Sun Aug 12 19:59:30 CST 2018] Your cert key is in /www/server/panel/vhost/cert/YourDomain.com/YourDomain.com.key 
[Sun Aug 12 19:59:30 CST 2018] The intermediate CA cert is in /www/server/panel/vhost/cert/YourDomain.com/ca.cer 
[Sun Aug 12 19:59:30 CST 2018] And the full chain certs is there: /www/server/panel/vhost/cert/YourDomain.com/fullchain.cer

5.补充个后续

ngrok服务端启动命令改为:


./bin/ngrokd -tlsKey="/www/server/panel/vhost/cert/YourDomain.com/YourDomain.com.key " -tlsCrt="/www/server/panel/vhost/cert/YourDomain.com/fullchain.cer" -domain="YourDomain.com"  -httpAddr=":80" -httpsAddr=":443" -tunnelAddr=":4443"

客户端:


trust_host_root_certs: true

参考:https://github.com/Neilpang/acme.sh

Q.E.D.


味无味处求吾乐,材不材间过此生。