惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
F
Fortinet All Blogs
J
Java Code Geeks
Y
Y Combinator Blog
Stack Overflow Blog
Stack Overflow Blog
V
Visual Studio Blog
M
MIT News - Artificial intelligence
腾讯CDC
Last Week in AI
Last Week in AI
The Cloudflare Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Jina AI
Jina AI
Microsoft Security Blog
Microsoft Security Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
P
Proofpoint News Feed
博客园 - 叶小钗
Recent Announcements
Recent Announcements
T
Tailwind CSS Blog
Engineering at Meta
Engineering at Meta
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
人人都是产品经理
人人都是产品经理
L
LangChain Blog
博客园 - 司徒正美
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

夜行人

回家路上 第一期的直播演示项目 震动检测器 正能量 在线参观CodeLab Neverland 发布 CodeLab Adapter 3.3.1 DynamicTable 之 纸糊方向盘 CodeLab DynamicTable: 一个可实施的技术方案 CodeLab Insight 发布 Alpha 版 情人节 Home Assistant 周报 && IoT 周报 (02) Joplin: 关注隐私的 Evernote 开源替代软件 浏览器的未来与 Web 传感器 Home Assistant 周报 && IoT 周报 (01) 百宝箱(01) 论自由 介绍 WebThings Home Assistant 周报 && iot 周报 (00) 百宝箱(00) 毛姆读书心得 传世之作 周末徒步 CodeLab Adapter ❤️ Jupyter/Python 航班 躲雨 夏令营途中 [译]思想--作为一种技术 The future of coding 美国之行 三门问题的程序模拟
搭建ngrok服务(内网穿透)
2015-09-09 · via 夜行人

由于众所周知的原因,我们无法使用ngrok.com

国内有一个基于ngrok的网络服务:tunnel.mobi,不过时常不稳定。所以想自己搭建一个

#搭建 环境:ubuntu14.04

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
#安装依赖
sudo apt-get install build-essential golang mercurial git`

#获取ngrok
git clone https://github.com/inconshreveable/ngrok.git ngrok
cd ngrok

#生成并替换默认的证书
NGROK_DOMAIN="YOUR_DOMAIN"
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

#开始编译 sudo make release-server release-client

编译完成后bin目录下将生产ngrokd和ngrok


###编译window版本客户端: GOOS=windows GOARCH=386

1
sudo GOOS=windows GOARCH=386  make  release-client

###编译mac版本客户端:

1
sudo GOOS=darwin GOARCH=amd64 make  release-client

之后都能在bin目录下找到

#运行服务

1
2
chmod +x ./bin/ngrokd
sudo ./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="YOUR_DOMAIN" -httpAddr=":8000" -httpsAddr=":443"

#注意 客户端必须使用自己编译的ngrok文件

#设置开机自动启动ngrok服务 vim /etc/init.d/ngrok_start:

1
/path/to/ngrokd -tlsKey=/path/to/server.key -tlsCrt=/path/to/server.crt -domain="findhao.com" -httpAddr=":8000" -httpsAddr=":443"

做些设置:

1
2
3
4
5
6
sudo chmod 755 /etc/init.d/ngrok_start
cd /etc/init.d
sudo update-rc.d ngrok_start defaults 20
#卸载启动脚本
cd /etc/init.d
sudo update-rc.d -f ngrok_start remove

#设置域名解析 把域名解析到VPS上,如果你只需要主机记录@和www,直接设置A记录把他们解析到VPS的IP上,如果需要很多二级域名的话,可以直接把*解析到IP上

#客户端使用 vim ngrok.cfg:

1
2
server_addr: YOUR_DOMAIN:4443
trust_host_root_certs: false

./ngrok -subdomain wwj -config=ngrok.cfg 8000

文章作者 种瓜

上次更新 2015-09-09