美文网首页数字信息
Ngrok 编译的坑

Ngrok 编译的坑

作者: youkale | 来源:发表于2016-06-01 17:57 被阅读1721次
ngrok 是用go语言实现的,编译过程碰到不少坑

主要碰到的坑就是依赖错误,以及依赖的包被伟大的GFW给挡住了。
最好是用天朝外的VPS make release-server release-client

修改日志src/ngrok/log/logger.go 中的import 部分
改成

import (
        log "github.com/alecthomas/log4go"
        "fmt"
)

其他的跟网上的差不多了。
下面就把依赖好的包打包发上来,以及编译的方法给大家说下:
这个包是已经包含好了依赖,拿到包后,确认你的环境,如果你要编译客户端需要go 1.6 否则编译会通不过

  • 安装依赖
    sudo apt-get install build-essential golang mercurial git 
  • 解压
 tar -zxv -f  ngrok.pkg.tar.gz 
  • 生成证书
    openssl genrsa -out base.key 2048
    openssl req -new -x509 -nodes -key base.key -days 10000 -subj "/CN=ngrok.renrenyoupin.com" -out base.pem
    openssl genrsa -out server.key 2048
    openssl req -new -key server.key -subj "/CN=ngrok.renrenyoupin.com" -out server.csr
    openssl x509 -req -in server.csr -CA base.pem -CAkey base.key -CAcreateserial -days 10000 -out server.crt
    cp base.pem assets/client/tls/ngrokroot.crt

  • 编译服务器
    make release-server
  • 编译客户端 (go >= 1.6)
#linux
make release-client
#windows
GOOS=windows GOARCH=amd64 make release-client
#mac
GOOS=darwin GOARCH=amd64 make release-client

编译前如果 make clean 了,那记得把证书再copy一份 cp base.pem assets/client/tls/ngrokroot.crt

运行
  • 服务器
 /usr/local/src/ngrok/bin/ngrokd -tlsKey=/usr/local/src/ngrok/server.key -tlsCrt=/usr/local/src/ngrok/server.crt -domain="ngrok.renrenyoupin.com" -httpAddr=":8090" -httpsAddr=":4433"
  • 客户端
    ngrok.cfg
    server_addr: "ngrok.weibang.info:4443"
    trust_host_root_certs: false
  • 客户端 启动
    ./ngrok -config=./ngrok.cfg -subdomain=test 8080
    ./ngrok -h 可以看帮助
  • 配置nginx
server {
    listen 80;
    server_name *.ngrok.xxx.xxx;
    access_log /var/log/nginx/xxx.xxx.log;

    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:8090;
        proxy_set_header X-Nginx-Proxy true;
        proxy_set_header Connection "";
        proxy_pass      http://127.0.0.1:8090;

    }
}

相关文章

  • Ngrok 编译的坑

    ngrok 是用go语言实现的,编译过程碰到不少坑 主要碰到的坑就是依赖错误,以及依赖的包被伟大的GFW给挡住了。...

  • Linux 14.04配置ngrok

    ngrok 国内一个免费的ngrok 由于ngrok编译时候制定了域名以及证书,所以不同的ngrok-client...

  • ngrok编译遇到的小坑

    解决办法: 直接在命令行下执行 再次运行编译 完美通过。。。

  • Ngrok 内网穿透 搭建

    源码:https://github.com/inconshreveable/ngrok 编译安装(CentOS、G...

  • CentOS7部署内网穿透的另一个利器Frp

    之前介绍了在CentOS下编译内网穿透软体ngrok服务端与客户端的途中,今日再介绍一款比ngrok更好用的内网穿...

  • { ngrok } 搭建ngrok服务实现内网穿透

    安装依赖(环境:CentOS) 获取ngrok 生成并替换默认的证书 编译 go环境 windows Mac 运行...

  • Debian 搭建ngrok

    1. 编译ngrok 网络上的教程大多是自己编译 git 和 go, 而且 go1.4 以上的版本还需要用 go1...

  • myshop readme

    shop 配置 ngrok ngrok下载和基本使用从https://ngrok.com/ 下载ngrok 下面...

  • ngrok使用

    ngrok的使用步骤如下: 1. 进入ngrok官网(https://ngrok.com/),注册ngrok账号并...

  • 使用Ngrok实现内网穿透服务

    # 使用Ngrok实现内网穿透服务 tags: 网络 Linux ngrok ngrok是什么? ngrok是一个...

网友评论

    本文标题:Ngrok 编译的坑

    本文链接:https://www.haomeiwen.com/subject/yavhdttx.html