前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >搭建属于自己的ngrok服务

搭建属于自己的ngrok服务

原创
作者头像
快乐咸鱼每一天
发布2019-06-20 09:52:25
1.9K0
发布2019-06-20 09:52:25
举报
文章被收录于专栏:从零搭建系列从零搭建系列
代码语言:txt
复制
开发过程中,很多时候处于公司内网,而有些时候需要外部能够访问到本地部署的服务,那么我们需要一个中转,其中ngrok就是这样一个比较优秀的服务。

源码编译

代码语言:txt
复制
证书生成
cd ngrok
openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=ngrok.xxxx.org" -days 5000 -out rootCA.pem
openssl genrsa -out device.key 2048
openssl req -new -key device.key -subj "/CN=ngrok.xxxx.org" -out device.csr
openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 5000

替换原有证书
$ cp rootCA.pem assets/client/tls/ngrokroot.crt
$ cp device.crt assets/server/tls/snakeoil.crt
$ cp device.key assets/server/tls/snakeoil.key



交叉编译环境
$ GOOS=linux GOARCH=amd64 make release-client
$ GOOS=windows GOARCH=amd64 make release-client
$ GOOS=linux GOARCH=arm make release-client
代码语言:txt
复制
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

启动服务器

代码语言:txt
复制
$ nohup ngrokd -domain="ngrok.xxxx.org" -httpAddr=":8088" -httpsAddr=":8089" & 

启动客户端

ngrok.cfg

代码语言:txt
复制
server_addr: “ngrok.xxxx.org:4443"
trust_host_root_certs: false

start client

代码语言:txt
复制
$ ngrok -subdomain demo -config=./config.cfg 4000

wechat oauth support

代码语言:txt
复制
upstream ngrok {  
    server 127.0.0.1:8088; # 此处端口要跟 启动服务端ngrok时指定的端口一致
    keepalive 64;
}
server {  
    listen       80;
    server_name  *.ngrok.xxxx.org;
    #charset koi8-r;
    #access_log  /var/log/nginx/log/ngrok.log  main;
    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:8088; #此处端口要跟 启动服务端ngrok 时指定的端口一致
            proxy_set_header X-Nginx-Proxy true;
            proxy_set_header Connection "";
            proxy_pass      http://ngrok;
    }
}

参考

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 源码编译
  • 启动服务器
  • 启动客户端
  • wechat oauth support
  • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档