一.安装go和git

git用来下载ngrok,go用来编译生成客户端和服务端

#安装git
yum install -y git
# 安装 Go  从官网下载:https://golang.org/dl/
wget https://storage.googleapis.com/golang/go1.8.linux-amd64.tar.gz#解压缩到/usr/local目录
tar -C /usr/local -xzf go1.4.3.linux-amd64.tar.gz# 添加Go的环境变量 首先打开 profile 在最后加上 export PATH=$PATH:/usr/local/go/binvi /etc/profileexport PATH=$PATH:/usr/local/go/bin

查看go是否安装成功

go version

二.下载ngork源码、安装

#下载到/usr/local目录
cd /usr/local/
git clone https://github.com/inconshreveable/ngrok.git

生成ssl证书


#生成SSL证书 用于 Ngrok 服务端和客户端通信认证使用export GOPATH=/usr/local/ngrok/#xxx.com是你外网地址export NGROK_DOMAIN="xxx.com" cd /usr/local/ngrok
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#移动证书
cp rootCA.pem assets/client/tls/ngrokroot.crt
cp server.crt assets/server/tls/snakeoil.crt
cp server.key assets/server/tls/snakeoil.key

编译生成服务端和客户端

#服务端,linux系统GOOS=linux,64位系统GOARCH=amd64,32位系统GOARCH=386
GOOS=linux GOARCH=amd64
make release-server#客户端window
cd /usr/local/ngrok
GOOS=windows GOARCH=amd64
make release-client

编译成功后在/usr/local/ngrok/bin下可以看到生成的服务端和客户端

ngrokd为服务端,windows_amd64目录中的ngrok.exe为客户端,把客户端下载到本地电脑中

[root@VM_0_11_centos bin]# ls
go-bindata  ngrokd  windows_amd64

启动服务端

cd /usr/local/ngrok
./bin/ngrokd -tlsKey="assets/server/tls/snakeoil.key" -tlsCrt="assets/server/tls/snakeoil.crt"  -domain="xxx.com" -httpAddr=":8081" -httpsAddr=":443" -tunnelAddr=":8083" #以上端口需要在服务器商安全组开启
#成功开启后,能看到以下信息
[INFO] (ngrok/log.(*PrefixLogger).Info:83) [registry] [tun] No affinity cache specified
[INFO] (ngrok/log.Info:112) Listening for public http connections on [::]:8081
[INFO] (ngrok/log.Info:112) Listening for public https connections on [::]:443
[INFO] (ngrok/log.Info:112) Listening for control and proxy connections on [::]:8083
[INFO] (ngrok/log.(*PrefixLogger).Info:83) [metrics] Reporting every 30 seconds

配置客户端启动

在ngork.exe 同目录中新建ngrok.cfg文件,内容如下

#8083为转发端口对应服务端端口,8081为http端口....
server_addr: "xxx.com:8083"
trust_host_root_certs: false
tunnels:http:subdomain: "www"proto:http: "8081"https:subdomain: "www"proto:https: "443"ssh:remote_port: 2222proto:tcp: "22"

新建启动文件,start.bat

#subdomain  后面的test为xxx.com的二级域名前缀 8090为本地web网站的端口
ngrok -config=ngrok.cfg -log=ngrok.log -subdomain test 8090

点击start.bat,如下

访问test.xxx.com:8081就能展示本地web网站

三.设置ngrok服务端开机启动和后台运行

Centos 7 ngrok 加入系统服务,支持开启和关闭服务

Centos 7 ngrok服务器搭建相关推荐

  1. ngrok服务器搭建流程

    ngrok服务器搭建流程 微信开发内网测试问题一直是一个困扰开发者的问题,ngrok服务是一个很好的解决方案,网上有类似的工具比如小米球但是不稳定或收费,如果自己有一台公网上的centos服务器,可以 ...

  2. CentOS7 NGROK服务器搭建 无需域名

    CentOS7 NGROK服务器搭建 CentOS7 NGROK服务器搭建 无需域名 看到一些ngrok收费一月9元起,遂花了10元买了腾讯云服务https://curl.qcloud.com/lj0 ...

  3. Centos 系统 FTP服务器搭建

    Centos 系统 FTP服务器搭建 第一步网络配置 /etc/sysconfig/network-scripts ls 查看配置文件 BOOTPROTO=static IPADDR=IP地址 NET ...

  4. 一分钟实现内网穿透(ngrok服务器搭建)

    简单来说内网穿透的目的是:让外网能访问你本地的应用,例如在外网打开你本地http://127.0.0.1指向的Web站点. 最近公司的花生壳到期了,要续费,发现价格一直在涨,都是5年以上的老用户,旗舰 ...

  5. 内网穿透(ngrok服务器搭建)

    转:https://blog.csdn.net/zhangguo5/article/details/77848658?utm_source=5ibc.net&utm_medium=referr ...

  6. 内网穿透-----ngrok服务器搭建

    一,需求与ngrok简介 1)需求 有时我们需要进行内网穿透,也就是说我们需要去访问和使用一些内网的机器:比方说,我在实验室有一台机器,而实验室的网络是内网(192.168.0.48),这个时候我想在 ...

  7. Linux  CentOS 7 Web服务器搭建和设置

    一. Web服务器搭建和设置(共25分)(CentOS 7) 请完成以下项目要求并给出实现步骤和测试界面图. 1. 安装Web服务器所需软件,设置服务器的IP为192.168.1.2 . 2. 在IP ...

  8. 内网穿透、反向代理(ngrok服务器搭建)

    内网穿透的目的是:让外网能访问你本地的应用,例如在外网打开你本地http://127.0.0.1指向的Web站点. 一.ngrok ngrok是一个反向代理,通过在公共的端点和本地运行的Web服务器之 ...

  9. CentOS 7 DHCP服务器搭建

    DHCP服务器搭建 前言 一.DHCP是什么? 二.安装DHCP服务器 三.一些重要相关的命令 总结 前言 学习Linux系统过程中,搭建DHCP服务器是必须要学会的,本次教程教大家如何搭建DHCP服 ...

最新文章

  1. php ssd性能影响,SATA SSD有无缓存,是否影响速度性能实例
  2. Dubbo 和 HSF 在阿里巴巴的实践:携手走向下一代云原生微服务
  3. Xamarin.Android 使用ListView绑定数据
  4. 李爽久:平安云如何解决金融同业互联专线痛点
  5. python计算机视觉编程调试问题
  6. 迷宫java代码_java写的迷宫代码
  7. 计算机教师资格考试试题,全国教师资格考试信息技术练习题(二)
  8. zlib.h: 没有那个文件或目录
  9. 一文讲述G6实现流程图绘制的常用方法
  10. ie8 html 语音标签,让IE8支持html5中的video标签
  11. git合并分支的时候将某个文件添加到忽略列表_常用的 Git 命令
  12. virtualenv之python虚拟环境
  13. rabbitmq 客户端golang实战
  14. Bootstrap Table事件
  15. 给大学生的劝告——你们为何应该开始接触UNIX/Linux
  16. 第六次毕业设计任务书
  17. C# 原始的方法写入xml文件的代码
  18. 论自律对成长的重要性
  19. 安卓测试皮肤的软件有哪些,什么软件可以测肤色 有哪些检测皮肤的app好用为什么...
  20. 笔记本应用电视机屏幕看电影

热门文章

  1. 【Canal】canal部署
  2. HTML5+CSS大作业——仿新浪微博个人主(4页) html期末作业代码网页设计
  3. HashMap 中 hash 冲突的解决方法及原理分析
  4. eclipse 配置tomcat 启动日志
  5. 安装STK-CS61A 2011使用的Scheme解释器
  6. 河北科技大学计算机辅助制造试题,EDA关键技术考试试卷.doc
  7. jenkins扫码安装iOS ipa包实现关键技术点
  8. 模糊C均值聚类 python实现
  9. bugku ctf 杂项 乌云邀请码
  10. 署名用by还是from_【这个太有创意了】中国学者把自己名字PS到《Nature》杂志论文第一作者前面,放到自己简历里...