前言

由于某些内部网络的站点需要外部调用或者访问,则需要一个外网能够访问内网的方法,而内网穿透就是这个方法之一。

准备工作

1、一个外网能够访问的服务器,比如阿里云、腾讯云、华为云等服务器

2、一个与该服务器备案的域名

3、有一些linux配置基础

使用工具

1、远程连接工具:可以使用windows自带的ssh,也可以有FinalShell,本次分享使用FinalShell

安装软件

1、go环境,下载地址http://www.golangtc.com/download

2、git环境,下载地址Git - Downloads

开始编译

1、下载ngrok源码,GitHub - inconshreveable/ngrok: Introspected tunnels to localhost

2、安装编译时候的依赖环境

yum -y install zlib-devel openssl-devel perl hg cpio expat-devel gettext-devel curl curl-devel perl-ExtUtils-MakeMaker hg wget gcc gcc-c++

3、安装git

#下载
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.18.5.tar.gz
#解压
tar zxvf git-2.18.5.tar.gz
#编译
cd git-2.18.5
./configure --prefix=/usr/local/git make
make install
#设置环境变量
vim /etc/profile
export GIT_HOME=/usr/local/git
export PATH=$GIT_HOME/bin:$PATH
source /etc/profile
#也可以使用
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/profile
source /etc/profile

4、安装go

#下载
wget http://www.golangtc.com/static/go/1.4.2/go1.4.2.linux-386.tar.gz
#解压
tar -zxvf go1.4.2.linux-386.tar.gz mv go /usr/local/
#设置环境变量
vim /etc/profile
#设置goroot的环境变量 此环境变量指的是go的根目录
export GOROOT=/usr/local/go
#设置go的环境变量
export PATH=$PATH:/usr/local/go/bin
PATH=$PATH:$HOME/bin
export PATH

5、编译ngrok

cd /usr/local/
git clone https://github.com/inconshreveable/ngrok.git
//替换码云 https://gitee.com/feiy/ngrok.git
export GOPATH=/usr/local/ngrok/
export NGROK_DOMAIN="xx.xx.com"
cd ngrok

生成ssl证书

openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=$NGROK_DOMAIN" -days 5000 -out rootCA.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 rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 5000

将生成的证书复制到ngrok的tls目录

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

优化下载地址

vim /usr/local/ngrok/src/ngrok/log/logger.go log "github.com/keepeye/log4go"

编译服务端

cd /usr/local/go/src
GOOS=linux GOARCH=386 ./make.bash
cd /usr/local/ngrok/
GOOS=linux GOARCH=386 make release-server

编译macos客户端

cd /usr/local/go/src
GOOS=darwin GOARCH=amd64 ./make.bash
cd /usr/local/ngrok/
GOOS=darwin GOARCH=amd64 make release-client

编译windows客户端

cd /usr/local/go/src
GOOS=windows GOARCH=amd64 ./make.bash
cd /usr/local/ngrok/
GOOS=windows GOARCH=amd64 make release-client

客户端配置文件

server_addr: "xx.xx.com:4443" trust_host_root_certs: false

启动服务端

/usr/local/ngrok/bin/ngrokd -domain="$NGROK_DOMAIN" -httpAddr=":80"

启动客户端

./ngrok -config=./ngrok.cfg -subdomain=blog 80 setsid ./ngrok -config=./ngrok.cfg -subdomain=test 80

搭建内网穿透工具-ngrok相关推荐

  1. 推荐一款免费的内网穿透工具ngrok

    内网穿透工具让外网可以正常访问我们内网的资源.网上虽然有多内网穿透工具,但是大部分都是收费的.今天发现一款免费的内网穿透工具ngrok,特意分享推荐给大家. 1.介绍         ngrok 是一 ...

  2. 内网穿透工具-Ngrok

    一.什么叫内网穿透 内网穿透是我们在进行网络连接时的一种术语,也叫做NAT穿透,即在计算机是局域网内的时候,外网与内网的计算机的节点进行连接时所需要的连接通信,有时候就会出现内网穿透不支的情况.内网穿 ...

  3. windows下内网穿透工具Ngrok安装与使用

    Ngrok是内网穿透的工具,简而言之就是将内网IP映射成对外可访问的域名.Ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道.ngrok 可捕获和分析所有通 ...

  4. 内网穿透工具Ngrok

    网址https://www.ngrok.cc/user.html Ngrok的Windows使用教程 Sunny-Ngrok 开通隧道 开通本站隧道只需要几个简单步骤就可以实现 1.首先在本站注册成为 ...

  5. 5分钟搞定内网穿透工具-ngrok

    1.问题描述 因为要做微信公众号的H5开发,获取微信用户信息的时候,微信回调需要用到域名,因项目刚启动,客户还没申请域名和服务器,为了不耽误开发,想通过将本机映射成可以通过域名访问,开发机器在内网中, ...

  6. 内网穿透工具ngrok的使用

    从www.ngrok.com下载客户端软件 运行ngrok ngrok http 80 在本机运行tomcat,绑定在80端口 通过外网访问本机 dashboard 也可以指定固定二级域名,不过新版本 ...

  7. 内网穿透工具 Ngrok

    先注册:https://dashboard.ngrok.com/signup 下载对应的软件版本:https://ngrok.com/download 将软件解压到电脑指定位置,比如:/usr/loc ...

  8. 本地调试支付回调内网穿透工具

    一,为什么使用内网穿透 我想装个B让其他同学在外网访问我的程序,应该怎么办? 接了个小外包,给客户演示Demo没有站点怎么办? 做微信.支付宝支付等其他第三方平台的功能,没有外网回调地址,应该怎么办? ...

  9. 多种内网穿透工具的比较

    懒得敲字了,直接看结论吧: 花生壳(需要实名认证,免费的宽带和流量,太少,只够平时测试用.得分别付费升级,太贵了) NPS(需要一台带有公网IP地址的服务器) frp(需要一台带有公网IP地址的服务器 ...

最新文章

  1. SVN commit,update用法
  2. p3p-header解决跨域访问cookie
  3. shift键的十一个妙用
  4. 共享一个资源(卖票)
  5. JMeter学习(三十一)Access Log Sampler
  6. 如何关闭WINDOWS2003 DEP数据保护功能
  7. linux bcc_使用bcc / BPF在Linux中分析性能的7种工具
  8. 查看网卡流量:nload
  9. Intel超线程技术 Hyper-Threading Technology (5) - 微架构/流水线与超线程技术(前端/执行核)
  10. 小米笔记本系统win10家庭版升级为企业版(专业版)
  11. cmake find_package 原理简介以及使用说明
  12. 解决IE当前脚本发生错误异常
  13. 利用139邮箱的免费短信提醒作为报警接口
  14. java中使用Calendar日期类获得下一个月有多少天
  15. 数据可视化之小提琴图(原理+Python代码)
  16. CSS盒子模型学习-02
  17. Git Bash中怎么复制与粘贴
  18. exew文件加密:利用破解版exe文件加密器对exe文件进行加密保护(图文教程)
  19. 逻辑学三大定律是什么?
  20. Adobe Audition (AU)安装教程(附Adobe Audition下载地址)

热门文章

  1. 【altium designer】画原理图
  2. 计算机视觉论文-2021-05-28
  3. Windows脚本初探之VBScrip的MsgBox函数
  4. 交大博士血泪自述:不是读博的料,别上博士这条船
  5. 如何安装旧的nvidia显卡驱动程序
  6. Python使用rawpy获取相机图像的原始RAW数据
  7. 了解代码管理系统Git相关产品
  8. Eclipse Debug不能热部署代码may be out-of-synch
  9. 即时通信和实时通信的区别
  10. 5-6 uniapp 图片压缩