自编译ngrok服务器

转载:http://www.haiyun.me/archives/1012.html

首先安装GO环境,http://www.haiyun.me/archives/1009.html


1

2

3

4

cd /usr/local/src/

git clone https://github.com/inconshreveable/ngrok.git

export GOPATH=/usr/local/src/ngrok/

export NGROK_DOMAIN="haiyun.me"

生成自签名SSL证书,ngrok为ssl加密连接:


1

2

3

4

5

6

7

8

9

10

11

12

cd 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 device.key 2048

openssl req -new -key device.key -subj "/CN=$NGROK_DOMAIN" -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

GOOS=linux GOARCH=386

make clean

make release-server release-client

如果一直停留在go get gopkg.in/yaml.v1参考:https://www.haiyun.me/archives/1011.html
启动SERVER:


1

bin/ngrokd -domain="$NGROK_DOMAIN" -httpAddr=":8000"

交叉编译windows客户端,最好安装最新版本Golang,使用yum安装的一直编译不通过。


1

2

3

4

cd /usr/local/go/src/

GOOS=windows GOARCH=386 CGO_ENABLED=0 ./make.bash

cd -

GOOS=windows GOARCH=386 make release-server release-client

客户端配置:


1

2

3

4

5

6

7

8

9

10

11

12

13

server_addr: "haiyun.me:4443"

trust_host_root_certs: false

tunnels:

  http:

    subdomain: "example"

    auth: "user:12345"

    proto:

      http: "80"

  ssh:

    remote_port: 2222

    proto:

      tcp: "22"

启动客户端:


1

bin/ngrok -config ngrok.conf start http ssh

注意所有domain要一致,不然会出现证书错误:


1

Failed to read message: remote error: bad certificate

时间: 2024-11-24 06:47:13

自编译ngrok服务器的相关文章

微信公众号开发80端口映射之搭建ngrok服务器

说明 了解本文之前,最好先看前篇:<<微信公众号开发80端口映射解决方案>>.最近公司要搞微信公众号开发,需要解决80端口映射的问题,为了稳定可靠,只好自己搭建ngrok服务端.ngrok 是一个使用go语言编写的反向代理软件,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道,实现内网穿透.ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放. 环境和条件 服务器Centos6.8_x64+windows10_x64 一台有公网ip的服务器 域名解析到服务

二进制编译Httpd服务器

前言: Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一.它快速.可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中. 环境介绍 系统环境:CentOS7 所需软件包:apr-1.5.1.tar.gz.apr-util-1.5.4.tar.gz.httpd-2.4.12.tar.gz 注意:httpd2.4需要依

编译ngrok的Windows、Mac的客户端

ngrok是一个ddns服务,为内网机器绑定一个公网域名,方便开发调试远程接口(如微信开发). 之前博文里面写过如何安装ngrok,但是由于公司里面的研发工程师的笔记本有windows本和mac本,所以本次主要讲怎么生成windows.mac客户端. 准备工作:需要参考http://nanchunle.blog.51cto.com/9244770/1710295,安装完成ngrok 一.编译Windwos客户端 cd /usr/local/go/srcGOOS=windows GOARCH=am

Centos 搭建ngrok服务

什么是Ngrok Ngrok是一款用go语言开发的开源软件,它是一个反向代理.通过在公共的端点和本地运行的Web服务器之间建立一个安全的通道.Ngrok可捕获和分析所有通道上的流量,便于后期分析和重放. 下图简述了Ngrok的原理 应用场景 用于对处在内网环境中,无外网IP的计算机的远程连接. Ngrok可以做TCP端口转发,对于Linux可以将其映射到22端口进行SSH连接.Windows的远程桌面可以将其映射到3389端口来实现.同理,如果要做MySQL的远程连接,只需映射3306端口即可.

阿里云搭建配置自己的ngrok服务

一直在使用sunny提供的免费的ngrok服务,由于昨天不知是不是服务器down的原因,一直连接不上,导致手中微信开发的工作无法很好的开展.遂有了再次尝试自己搭建一个ngrok服务(曾经有过几个小时的研究和尝试,没有成功).在N小时的尝试之后,最终修成正果,成功搭建属于自己的ngrok服务! (其实还有一些问题没有确认,但是暂时不深入研究了,有兴趣的可以深入) 准备工作: 一台外网服务器,一个域名. 我的环境: 阿里云Centos6.5,二级域名ngrok.***.cn泛解析. Go环境 1 #

使用GoWorld游戏服务器引擎轻松实现分布式聊天服务器

GoWorld游戏服务器引擎简介 GoWorld是一款开源的分布式可扩展的游戏服务器引擎,使用Go语言(Golang)编写.它采用类似BigWorld的结构,使用了简化的场景-对象框架.以一个典型的MMORPG为例,每个服务器上会有多个场景,每个场景里可以包含多个对象,这些对象包括玩家.NPC.怪物等.GoWorld服务器可以将场景分配到在不同的进程甚至不同的机器上,从而使得游戏服务器的负载是可扩展的. 开源分布式游戏服务器引擎:https://github.com/xiaonanln/gowo

构建高效安全的Nginx Web服务器

一 一.为什么选择Nginx搭建Web服务器 Apache和Nginx是目前使用最火的两种Web服务器,Apache出现比Nginx早. Apache HTTP Server(简称Apache)是世界使用排名第一的Web服务器软件, 音译为阿帕奇,是Apache软件基金会的一个开放源码Web服务器, 可以运行几乎所有的计算机平台,其次开放的API接口, 任何组织和个人都可以在它上面扩展和增加各种需要功能,达到为自己量身定制的功能. Nginx("engine x")是一个高性能的HTT

20步打造最安全的Nginx Web服务器

转自:http://www.open-open.com/solution/view/1319455592515 Nginx是一个轻量级的,高性能的Web服务器以及反向代理和邮箱 (IMAP/POP3)代理服务器.它运行在UNIX,GNU /linux,BSD 各种版本,Mac OS X,Solaris和Windows.根据调查统计,6%的网站使用Nginx Web服务器.Nginx是少数能处理C10K问题的服务器之一.跟传统的服务器不同,Nginx不依赖线程来处理请求.相反,它使用了更多的可扩展

mysql5.7.11编译安装

进入/usr/local/src cd /usr/local/src 2.下载mysql 5.7.10 wget  http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.11.tar.gz 3.安装组件 cmake必须安装 yum -y install gcc-c++ ncurses-devel cmake make perl  yum -y gcc autoconf automake zlib libxml libgcrypt li