欢迎光临散文网 会员登陆 & 注册

ngrok内网映射与ngrok内网映射服务器搭建

2017-11-07 18:55 作者:王忘杰-王土狗  | 我要投稿


前言
如果只是网站临时访问只用官方的ngrok自动映射即可
如果是长久使用,推荐使用frp,因为ngrok这东西,官方的是2.x 开源的是1.x 这是一个商业运作软件。

ngrok映射http协议
无需注册账户,下载即用

通过官网下载
https://ngrok.com/download

运行

ngrok http 80

终端反馈

ngrok by @inconshreveable                                       (Ctrl+C to quit) Session Status                online Version                       2.2.4Region                        United States (us) Web Interface                 http://127.0.0.1:4040 Forwarding                    http://79ab83c9.ngrok.io -> localhost:8080Forwarding                    https://79ab83c9.ngrok.io -> localhost:8080Connections                   ttl     opn     rt1     rt5     p50     p90                              24      0       0.00    0.01    0.00    0.00

http://79ab83c9.ngrok.io就是我们的外网地址

浏览器打开 Web入口http://127.0.0.1:4040.

此时如果使用其他设备访问Forwarding后面的地址,就会在Web页面上面查看到当前访问的请求细节.

服务器搭建
服务器以centos7为例

环境配置

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

下载ngrok服务端

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

编译准备

cd ngrok

export NGROK_DOMAIN="ngrok.9sb.org"

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

编译

#win服务端

GOOS=windows GOARCH=386 make release-server 

#win客户端

GOOS=windows GOARCH=386 make release-client

#linux服务端

GOOS=linux GOARCH=386 make release-server

#linux客户端

GOOS=linux GOARCH=386 make release-client

服务端运行 注意防火墙开放对应的端口
我们只需要以下三个文件

ngrokdbin目录里server.key server.crt在当前目录

在这三个文件所在的目录中可以直接启动ngrokd

ngrokd -tlsKey="server.key" -tlsCrt="server.crt" -domain="ngrok.9sb.org" -httpAddr=":1000" -httpsAddr=":1001" -tunnelAddr=":1002"

-domain使用的域名 -httpAddr HTTP端口 -httpsAddrHTTPS端口 -tunnelAddr隧道端口

客户端运行

我们的目的是把主机的80端口映射到服务器的1003端口上

下载编译好的ngrok.exe,在bin目录里

新建配置文件 ngrokyml

server_addr: "ngrok.9sb.org:1002"

trust_host_root_certs: false

tunnels:

    ssh:

        remote_port: 1003

        proto:

            tcp: 80


ngrok.exengrokyml的目录下右键运行powershell

.\ngrok.exe -config=ngrokyml  start ssh

验证


ngrok内网映射与ngrok内网映射服务器搭建的评论 (共 条)

分享到微博请遵守国家法律