编译使用ngrok用于测试微信小程序小游戏等临时服务器

编译使用ngrok
1. 要先安装git,用来下载ngrok的源码及第三方包。
2. 要先安装好golang的环境及ngrok所需要的golang第三方库。完了之后有个错误直接把那行删除掉就可以了。
3. 还需要安装openssl来进行https的认证信息。
4. 进入ngrok的根目录下,生成认证文件:
    cd ngrok
    NGROK_DOMAIN="xxx.xxx.com"
    openssl genrsa -out base.key 2048
    openssl req -new -x509 -nodes -key base.key -days 100000 -subj "/CN=$NGROK_DOMAIN" -out base.pem
    openssl genrsa -out server.key 2048
    openssl req -new -key server.key -subj "/CN=$NGROK_DOMAIN" -out server.csr
    openssl x509 -req -in server.csr -CA base.pem -CAkey base.key -CAcreateserial -days 100000 -out server.crt
5. 把base.pem复制到assets/client/tls/ngrokroot.crt
6. 编译:
    make release-server
    make release-client

    GOOS=darwin GOARCH=amd64 make release-server
    GOOS=darwin GOARCH=amd64 make release-client
    GOOS=linux GOARCH=amd64 make release-server
    GOOS=linux GOARCH=amd64 make release-client
    注:mac与linux会在bin目录下生成相应的文件夹把编译的程序放到里面。
7. 服务器启动需要指定server.key与server.crt文件,把这两个文件拷贝到服务器程序的目录中
8. 启动:
    ngrokd.exe -tlsKey=server.key -tlsCrt=server.crt -domain="xxx.xxx.com" -httpAddr=":80" -httpsAddr=":443" -tunnelAddr=":4443"
    ngrok.exe -config=./ngrok.cfg -hostname="xxx.xxx.xxx.com" -log=./log.log -subdomain=dub 7023
    注:
        ngrokd.exe:是服务端
            -tlsKey与-tlsCrt:服务端的认证文件
            -domain:要代理的域名
            -httpAddr:代理的ip及端口
            -httpsAddr:https代理的ip及端口
            -tunnelAddr:客户端连接的隧道地址
        客户端配置文件:
            server_addr: 服务器隧道地址与端口
            trust_host_root_certs: 不需要认证
        ngrok.exe:客户端
            -config: 配置文件
            -hostname: 代理的域名,如果服务器用到的是nginx转发给ngrokd而ngrokd的httpAddr不是80则可以用些属性替换掉subdomin的第一个数即二级域名
            -log:日志文件
            -subdomain:二级域名的端口及转发的地址

备案号:豫ICP备14002392号-2