博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ngrok搭建自己的内网穿透
阅读量:6478 次
发布时间:2019-06-23

本文共 1512 字,大约阅读时间需要 5 分钟。

hot3.png

做过微信开发的应该都知道Ngrok内网穿透工具,大多都是在使用别人提供的服务,这样并不是很安全,所以我们还是需要搭建自己的Ngrok服务。


准备工作

  • 准备一个域名,此处以domain.com为例
  • 一个有公网IP的服务器

我自己的服务器是 Ubuntu 16.04

先安装go编译器(ngrok是go语言编写的)

apt install golang

下载ngrok源码

git clone

如果提示没有git命令,请安装git命令,最后生成客户端会用到git

apt install git

进入ngrok根目录,执行以下命令生成签名证书

  • NGROK_DOMAIN="domain.com"
  • openssl genrsa -out base.key 2048
  • openssl req -new -x509 -nodes -key base.key -days 10000 -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 10000 -out server.crt

拷贝签名证书

  • cp base.pem assets/client/tls/ngrokroot.crt
  • cp server.crt assets/server/tls/snakeoil.crt
  • cp server.key assets/server/tls/snakeoil.key

编译ngrok

make release-server

启动ngrok服务

./bin/ngrokd -domain="domian.com" -httpAddr=":80" -httpsAddr=":443"

启动过后,在浏览器访问domain.com,如果出现如下提示,就证明一切已经配置完成

Tunnel domain.com not found

最后需要生成跟你本地相符合的客户端了,依旧在ngrok根目录使用命令

windows 64位

GOOS=windows GOARCH=amd64 make release-client

MAC OS (32位系统把amd64改成386)

GOOS=darwin GOARCH=amd64 make release-client

Linux

GOOS=linux GOARCH=amd64 make release-client

编译过后的客户端在ngrok目录下的bin目录下,下载需要的客户端到本地,然后在同目录下创建ngrok.cfg配置文件,内容如下:

  • server_addr: "domain.com:4443"
  • trust_host_root_certs: false

命令行启动客户端

ngrok -config=ngrok.cfg -subdomain wx 8080

其中wx是二级域名比如wx.domain.com(wx,8080可按自己需求修改),8080是转发本地8080端口下的所有请求。

以上就是全部配置。如有问题欢迎留言交流。

JAVA版本的ngrok客户端(开源大佬提供)

转载于:https://my.oschina.net/u/3294768/blog/1556062

你可能感兴趣的文章
UITableViewCell分割线不是左对齐的问题
查看>>
CentOS7 编译安装PHP7
查看>>
MySQL常见错误代码及代码说明
查看>>
Cglib动态代理基础使用
查看>>
技术人员,为什么会苦逼
查看>>
使用126邮箱发送邮件的python脚本
查看>>
Maven
查看>>
缓存系统在游戏业务中的特异性
查看>>
Ngrok搭建自己的内网穿透
查看>>
redis的基本数据类型
查看>>
.NET 同步与异步之锁(Lock、Monitor)(七)
查看>>
前端大牛们都学过哪些?
查看>>
在iOS当中发送电子邮件和短信
查看>>
python的单例模式
查看>>
13~1003的和
查看>>
pycharm如何新项目如何不默认创建虚拟环境(吐槽)
查看>>
Loadrunner检查点小结(很经典)
查看>>
MySQL字段类型详解
查看>>
ORACLE 的游标
查看>>
虚拟机安装的UBUNTU全屏的方法:
查看>>