Linux 搭建 ngrok 反向代理 顶

1. 为什么要使用ngrok?

ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放。 作为一个Web开发者,我们有时候会需要临时地将一个本地的Web网站部署到外网,以供他人体验评价或协助调试等等,通常我们会这么做: 找到一台运行于外网的Web服务器 服务器上有网站所需要的环境,否则自行搭建 将网站部署到服务器上 调试结束后,再将网站从服务器上删除 只不过是想向朋友展示一下网站而已,要不要这么麻烦,累感不爱╰(`□′)╯

2.服务端编译

mkdir /root/goproj cd /root/goproj #下载go语言编译器 wget http://golangtc.com/static/go/1.7/go1.7.linux-amd64.tar.gz tar xvf go1.7.linux-amd64.tar.gz #设置环境变量 vi /etc/profile export GOROOT=/root/goproj/go export PATH=$GOROOT/bin:$PATH export GOPATH=/root/goproj/ngrok source /etc/profile cd /root/goproj git clone https://github.com/inconshreveable/ngrok.git cd /root/goproj/ngrok #创建证书 openssl genrsa -out rootCA.key 2048 openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=t.test.com" -days 5000 -out rootCA.pem openssl genrsa -out device.key 2048 openssl req -new -key device.key -subj "/CN=t.test.com" -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 wget https://github.com/inconshreveable/go-update/archive/v0.zip wget https://github.com/go-yaml/yaml/archive/v1.zip #将下载的文件解压后的go文件放到 mkdir /root/goproj/ngrok/src/gopkg.in/inconshreveable/go-update.v0 mkdir /root/goproj/ngrok/src/gopkg.in/yaml.v1 cd /root/goproj/ngrok make release-server #服务端启动 /root/goproj/ngrok/bin/ngrokd -domain="t.test.com" -httpAddr=":8080" -httpsAddr=":8081" -tunnelAddr=":4443" &

3.客户端编译

3.1.Windows客户端

cd /root/goproj/go/src GOOS=windows GOARCH=amd64 ./make.bash cd /root/goproj/ngrok GOOS=windows GOARCH=amd64 make release-client #同理,这里的amd64是64位系统,32位改成386 #会在 bin/windows_amd64 目录下生成ngrok客户端程序,将ngrok.exe下载到windows操作系统

3.2.Mac客户端

cd /root/goproj/go/src GOOS=darwin GOARCH=amd64 ./make.bash cd /root/goproj/ngrok GOOS=darwin GOARCH=amd64 make release-client #会在 bin/darwin_amd64/ 目录下生成ngrok客户端程序 #新建 ngrok.cfg 文件,内容: server_addr: "t.test.com:4443" trust_host_root_certs: true #客户端启动 ./ngrok -config=ngrok.cfg -subdomain=a 8080

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏林德熙的博客

WPF 使用RPC调用其他进程

如果在 WPF 需要用多进程通信,一个推荐的方法是 WCF ,因为 WCF 是 RPC 计算。先来讲下 RPC (Remote Procedure Call) ...

17210
来自专栏张善友的专栏

ASP.NET Web API 处理架构

这篇文章主要是介绍ASP.NET Web API的处理架构:当一个HTTP请求到达直到产生一个请求的过程。ASP.NET Web API 的处理架构图如下,主要...

31680
来自专栏比原链

Derek解读Bytom源码-protobuf生成比原核心代码

Gitee地址:https://gitee.com/BytomBlockchain/bytom

12910
来自专栏我和未来有约会

Silverlight体积优化

Silverlight体积优化 Silverlight是运行在客户端的富媒体应用程序,他可以使表现形式更加的丰富多彩,相应的开发人员需要写大量的XAML、代买...

22880
来自专栏草根专栏

asp.net core 2.0 查缺补漏

asp.net core 2.0 一些有用有趣的设置. 面向(targeting)不同的.net版本: 打开asp.net core 2.0的项目文件: xxx...

32150
来自专栏me的随笔

使用Visual Studio 2015 Community 开发windows服务

  昨天研究在.NET下开发Windows服务程序,期间遇到一些小问题,这里仅将自己的开发过程和需要注意的地方写下和广大网友分享……

9620
来自专栏IMWeb前端团队

浏览器中的ECMAScript模块(译)

本文作者:IMWeb zzbozheng 原文出处:IMWeb社区 未经同意,禁止转载 原文:https://jakearchibald.com/20...

21780
来自专栏Ken的杂谈

基于GitLab的Code Review教程

也就是说,使用GitLab进行Code Review就是在分支合并环节发起Merge Request,然后Code Review完成后将代码合并到目标分支。

2K30
来自专栏码农阿宇

在.Net Core中使用MongoDB的入门教程(一)

首先,我们在MongoDB的官方文档中看到,MongoDb的2.4以上的For .Net的驱动是支持.Net Core 2.0的。 ? 所以,在我们安装好了Ma...

39840
来自专栏令仔很忙

EF大数据批量处理----BulkInsert

之前做项目的时候,做出来的系统的性能不太好,在框架中使用了EntityFramework,于是就在网上查资料,研究如何提高EF的性能。 在这分享一篇博客 批...

23830

扫码关注云+社区

领取腾讯云代金券