ngrok_ngrok连接mysql - CSDN
精华内容
参与话题
  • ngrok使用

    千次阅读 2017-11-23 11:41:07
    一、什么是ngrok? 通过网站查找,ngrok是一种反向代理,通过在公共的端点和本地运行的web服务器之间建立一个安全通道,ngrok可捕获和分析所有通道上的流量。 通过使用后理解:在项目中使用微信和支付宝支付,本地...

    一、什么是ngrok?

    通过网站查找,ngrok是一种反向代理,通过在公共的端点和本地运行的web服务器之间建立一个安全通道,ngrok可捕获和分析所有通道上的流量。

    通过使用后理解:在项目中使用微信和支付宝支付,本地启动tomcat不能进行支付访问。启动服务,并将ngrok服务开启,更改访问路径配置则可以进行支付测试。(应该还可以让别人访问自己的本地web项目,没试过!!)

    二、ngrok使用步骤

    1、下载文件主要使用ngrok.exe放到指定目录

                      

    2、运行ngrok(两种方法)

    方法一:解压后的ngrok.exe以管理员身份运行。

    方法二:通过命令操作:cmd-->找到ngrok

                 

    3.连接端口号

     接着输入命令: ngrok http 端口号

    例如项目中端口号是8091  则输入命令:ngrok http 8091
    命令成功如图,成功后显示连接状态和指向
            
             
    4.配置文件更改(微信+支付宝支付时使用的,其他没了解到,或许一样)
    原配置文件可能是域名形式:
    例如:

    <alipay.notifyUrl>

    http://www.haibeidao.com/ssl/account/updateAliRechNotifyData.htm

    </alipay.notifyUrl>

    将配置中的域名更换成上一图片的红色框中的内容

    <alipay.notifyUrl>

    http\://c8d176c4.ngrok.io/haibei-web/ssl/account/updateAliRechNotifyData.htm

    </alipay.notifyUrl>

    注意:1.http后买加‘\’,

              2.在使用时,ngrok不能关闭,保持连同状态。

      3.访问地址栏,要用192.168.1.110,不能使用http://localhost:8091









    展开全文
  • 如上 网上找到的都是不稳定的 还不如自己搭建一个。去问度娘了,发现了一堆。好吧,那就动手开干吧。 准备工作(其实也是硬性条件): 1.服务器一台 2.备案域名一个。(好多都说可以不备案,我也不知道真假,我的...

    如上 网上找到的都是不稳定的 还不如自己搭建一个。去问度娘了,发现了一堆。好吧,那就动手开干吧。

    准备工作(其实也是硬性条件):

    1.服务器一台

    2.备案域名一个。(好多都说可以不备案,我也不知道真假,我的备了)

    工具:

    1.远程连接工具:xshell 或者 putty 。(甭管是啥 能连上好使就行 按照个人习惯选择)

    2.下载工具:winscp(这是我最爱用的哈) 当然用命令也是可以的。

    安装:

    1.git安装

    # 安装git
    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++  
    

    这段命令是度娘告诉我的 那啥 要是不好使 就找个安装git的教程啥的 我这个执行完就ok了

    由于ngrok是在go的基础上开发的所以先安装go(go语言完全不同 这不重要 安装好就可以)

    2.安装go

    我觉得服务器上下载go太慢了 所以我决定本地下载 在往服务器上传 

    下载地址:https://studygolang.com/dl(我觉得这个挺好的)

    下载linux版的 位数看好在下,这些细节问题一定要注意。

    下载后 用winscp 上传到服务器下的 /usr/local/下

    解压 

    tar -zxvf go1.12.4.linux-amd64.tar.gz /usr/local/  

    目录下即可看见 go 的目录

    这时需要做一个软连接(为什么做 我也不知道啊 哪个大神可以指导一下)

    # go的命令需要做软连接到/usr/bin  
    ln -s /usr/local/go/bin/* /usr/bin/ 

    做完这些 最后设置全局的环境变量

    export GOROOT=/usr/local/go    
    export GOPATH=\$HOME/go
    export PATH=\$PATH:\$GOROOT/bin

    使环境生效

    source /etc/profile 

    好了 到这 我们的go安装完了 检测安装是否安装成功

    go version

    go env

    执行其中一个 出现对应的即可 代表安装成功

    3.安装ngrok

    为了查找方便 也安装到local目录下

    cd /usr/local/ 
    
    //ngrok下载地址
    git clone https://github.com/inconshreveable/ngrok.git

    这个地址可以git下载 再传上去 也可以fock到自己项目里

    下载完成后可以看到一个 ngrok的文件夹

    配置 ngrok的环境变量

    export GOPATH=/usr/local/ngrok/  
    
    #这里写你自己的域名,不要前缀,比如www.abc.club 填写abc.club (域名已备案)
    export NGROK_DOMAIN="abc.club"  
    

    4.生成ngrok证书并覆盖原有的证书

    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 

    以上这个命令是拷来的 不必介意 就是生成证书的

    覆盖证书 以下命令分着打 打完每一个 会让你确定 按 y 就可以

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

    到此 安装配置结束

    生成服务端

    进入ngrok的目录

    cd /usr/local/ngrok/  
    

    执行生成服务端 其中amd64代表64位的linux系统 如果是32位的 改为:GOARCH=386 

    GOOS=linux GOARCH=amd64 make release-server

    生成成功后 会在ngrok的bin下有一个ngrokd文件夹 即代表成功

    生成客户端

    和服务端一样 

    cd /usr/local/ngrok/  
    
    GOOS=windows GOARCH=amd64 make release-client

    会在ngrok的bin下有一个windows_amd64文件夹 即代表成功

    下面是不同系统生成不同客户端的版本 替换GOODS 和GOARCH的值即可

    #Linux 平台 32 位系统:GOOS=linux GOARCH=386
    #Linux 平台 64 位系统:GOOS=linux GOARCH=amd64
    #Windows 平台 32 位系统:GOOS=windows GOARCH=386
    #Windows 平台 64 位系统:GOOS=windows GOARCH=amd64
    #MAC 平台 32 位系统:GOOS=darwin GOARCH=386
    #MAC 平台 64 位系统:GOOS=darwin GOARCH=amd64
    #ARM 平台:GOOS=linux GOARCH=arm

    服务端的启动

    在ngrock下执行

    ./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="abc.club" -httpAddr=":80" -httpsAddr=":443" -tunnelAddr=":4443"
    
    参数说明:
    #-domain 访问ngrok是所设置的服务地址生成证书时那个
    #-httpAddr http协议端口 默认为80
    #-httpsAddr https协议端口 默认为443 
    #-tunnelAddr 通道端口 默认4443

     

    一定要注意 domain 代表 域名 那么这个域名就是之前你定义的环境变量的域名 千万不要错。

     

    启动成功显示:

     

    可以看出 监听80端口 443 端口 4443端口 并且30秒执行一次监听 启动成功

    二级域名的映射设置

    这个 跟简单 但很重要如下

    用泛解析 解析一级域名 3级的还没研究  按照上面的解析就可以

    客户端的启动

    用winscp将生成的windows_amd64拉倒本地

    里面只有一个ngrok.exe程序

    同目录下新建ngrok.cfg文件 文件类型可自定义 但是执行时注意一致

    ngrok.cfg内容

    server_addr: "abc.club:4443"  
    trust_host_root_certs: false  

    server_addr: "abc.club:4443" 其中 abc.club还是你自己设置的那个域名 4443是服务区启动时的监听端口 保持一致 (改就都改 不改就不要动)

    客户端有俩种启动方法:

    1.cmd到windows_amd64根目录下

    直接执行以下命令

    ngrok -config=./ngrok.cfg -subdomain=test 8080
    
    #参数说明
    ngrok.cfg 刚才新建的文件 
    -subdomain=test test:穿透的域名前缀 
    8080 :穿透的域名映射端口

    启动

    代表成功 访问分配的域名即可

    2.写一个.bat的脚本

     

     

    boom.bat的内容

     

    @echo OFF
    color 0a
    Title boom Ngrok启动工具
    Mode con cols=109 lines=30
    :START
    set /p clientid=   请输入前缀:
    echo.
    set /p port=   请输入端口:
    echo.
    ngrok -config=ngrok.cfg -subdomain %clientid% %port%
    PAUSE
    goto TUNNEL
    
    
    

    简单些 也可以弄一些图案什么的 根据个人喜好

    访问分配的域名即可


    图形界面

    项目启动后 访问127.0.0.1:4040或者localhost:4040

    将ngrok设置为系统服务 并且开机自启

    编辑

    vim /etc/rc.d/init.d/ngrok

    ngrok内容

    #!/bin/bash
    
    #chkconfig: - 99 01
    
    #description:ngrok  
    
    
    case "$1" in
    	start)
    	echo "start ngrok service.."
    	cd /usr/local/ngrok/
    	setsid ./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="abc.club" -httpAddr=":80" -httpsAddr=":443" -tunnelAddr=":4443" 
    	;;
            *)
            exit 1
            ;;
    esac
    
    ###参数说明:
    ### cd /usr/local/ngrok/:进入ngrok目录
    ### setsid:开始没有这个 结果关闭窗口 发现服务停掉了 加上目前好用
    ### setsid ./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="abc.club" -httpAddr=":80" -httpsAddr=":443" -tunnelAddr=":4443" :启动ngrok服务端命令

    给该配置文件权限

    chmod 755 ngrok

    注册为系统服务

    chkconfig --add  ngrok

    然后查看是否添加成功

    chkconfig

     

    启动

    service ngrok start

    若能出现和之前直接打命令出现的监听30s界面 则添加成功

    设置为开机自启

    再添加为系统服务后 ngrok状态都是off 所以需要设置为开机自启 

    systemctl enable ngrok.service //加入开机启动
    systemctl daemon-reload  //重新加载配置文件

    重启服务器 直接开启客户端检测 

    注意事项

    服务端 启动成功 客户端连不上:

    是因为 防火墙 端口没有开放443 4443 8080 等 都开放一下

    开放后可以关闭防火墙 没什么大用 

    开了之后 还是连不上 这就需要去云服务器端设置安全组的入站规则:

     

    设置好就好了  搭建的还算可以 没有太多的问题 一路很顺

    码字码图不易 且看且珍惜

     如有问题 欢迎提出指导 谢谢

    展开全文
  • 10分钟教你搭建自己的ngrok服务器

    万次阅读 多人点赞 2018-02-23 16:05:31
    内网穿透想必开发过微信的同志都很了解,大部分人选择网上寻找各种现成的,比如ngrok官网、ittun-ngrok、sunny-ngrok或者花生壳之类的。但是世界上没有免费的午餐,要不就是收费,要不就是免费但是偶尔会出现连接...

    内网穿透想必开发过微信的同志都很了解,大部分人选择网上寻找各种现成的,比如ngrok官网ittun-ngroksunny-ngrok或者花生壳之类的。但是世界上没有免费的午餐,要不就是收费,要不就是免费但是偶尔会出现连接失败的问题(当然大多数时间是没有问题的)。

    偶然,正在测试微信的某些功能,但是正在使用的ittun-ngrok连接失败了。导致测试无法进行,最终萌生出自己搭建一个ngrok服务器的想法。

    1、必要条件

    (1)服务器,用来搭建ngrok的服务器,必须有公网ip,并且可以正常访问(本次测试使用的是Ubuntu 16.04 64位)。
    (2)域名,用来生成访问域名。

    2、安装git 和Golang

    apt-get install build-essential golang mercurial git

    Golang,Go语言支持,因为Ngrok是基于Go语言编写的

    3、下载源码,当然也可以不安装git,但是需要手动上传代码到需要的位置。

    此处使用非官方地址,修复了部分包无法获取(摘自网络)

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

    这里写图片描述

    下载下来的目录结构
    这里写图片描述

    4、生成自签名证书
    使用ngrok.com官方服务时,我们使用的是官方的SSL证书。自建ngrokd服务,如果不想买SSL证书,我们需要生成自己的自签名证书,并编译一个携带该证书的ngrok客户端。

    证书生成过程需要一个NGROK_BASE_DOMAIN。 以ngrok官方随机生成的地址xxx.ngrok.com为例,其NGROK_BASE_DOMAIN就是“ngrok.com”,如果你要提供服务的地址为“example.ngrok.xxx.com”,那NGROK_BASE_DOMAIN就应该 是“ngrok.xxx.com”。本次测试,由于没有多余的域名,我替换成自己的二级域名“weixin.yangjiace.xyz”。

    cd ngrok
    
    NGROK_DOMAIN="weixin.yangjiace.xyz"
    
    openssl genrsa -out base.key 2048
    
    openssl req -new -x509 -nodes -key base.key -days 10000 -subj "/CN=$NGROK_DOMAIN" -out base.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 base.pem -CAkey base.key -CAcreateserial -days 10000 -out server.crt

    这里写图片描述
    执行完成后需要替换证书

    cp base.pem assets/client/tls/ngrokroot.crt

    5、编译

    make release-server release-client

    这里写图片描述

    编译成功后会在bin目录下找到ngrokd和ngrok这两个文件。其中ngrokd 就是服务端程序了。
    这里写图片描述

    6、启动服务端

    ./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="weixin.yangjiace.xyz" -httpAddr=":80" -httpsAddr=":443"

    httpAddr、httpsAddr 分别是 ngrok 用来转发 http、https 服务的端口,可以随意指定。ngrokd 还会开一个 4443 端口用来跟客户端通讯(可通过 -tunnelAddr=”:xxx” 指定)。由于微信限制不能出现端口号,因此这个使用了80、443端口。

    7、编译客户端

    (1)windows

    GOOS=windows GOARCH=amd64 make release-client  

    (2)mac

    GOOS=darwin GOARCH=amd64 make release-client

    执行对应的命令会在bin目录下生成相对应的windows、mac目录,ngrok.exe就存放在对应目录下。将对应的ngrok.exe下载到本地。

    8、设置本地客户端

    (1)在同级目录下新建一个配置文件ngrok.cfg

    server_addr: "weixin.yangjiace.xyz:4443"  
    trust_host_root_certs: false  

    (2)同级目录下新建一个启动脚本startup.bat

    @echo on
    cd %cd%
    #ngrok -proto=tcp 22
    #ngrok start web
    ngrok -config=ngrok.cfg -log=ngrok.log -subdomain=yjc 8080

    其中,-config指向配置文件,-log存放日志文件位置,-subdomain为自定义的域名前缀。8080为端口号。

    (3)启动,点击启动脚本startup.bat完成启动。
    这里写图片描述

    9、设置为系统程序,并后台运行。

    服务器在运行ngrok时,如果关闭会话窗口,会导致服务中断,很显然这不是我们想要的结果,我们需要服务不断的在后台运行,当需要的时候在停止。

    在/etc/systemd/system/目录下创建服务ngrok.service,内容为

    [Unit]
    Description=ngrok
    After=network.target
    
    [Service]
    ExecStart=/myweb/ngrok/bin/ngrokd -tlsKey=/myweb/ngrok/server.key -tlsCrt=/myweb/ngrok/server.crt -domain="weixin.yangjiace.xyz" -httpAddr=":80" -httpsAddr=":443"
    
    [Install]
    WantedBy=multi-user.target

    其中要根据自己的实际目录修改相对应的目录。

    这样我们就可以了通过systemctl start ngrok.service启动服务。然后就可以愉快的玩耍了。

    展开全文
  • ngrok实现内网穿透

    万次阅读 2019-02-09 20:03:07
    官网: https://ngrok.com/ 步骤也很简单: 比如我想映射本地8888端口到外网,那么我输入 ./ngrok http 8888 就会出现以下结果:

    背景:
    ngrok实现内网穿透,比如做微信开发,钉钉开发等等,只支持80端口访问情况

    官网:

    https://ngrok.com/

    步骤也很简单:
    这里写图片描述

    比如我想映射本地8888端口到外网,那么我输入

    ./ngrok http 8888

    就会出现以下结果:
    这里写图片描述

    此时,访问「http://9a4411e5.ngrok.io」这个域名就能访问到本地8888端口号的项目了。

    展开全文
  • ngrok下载和使用

    2020-07-28 23:30:29
    首先进行下载,之后解压,双击输入ngrok http 端口号,它会自动生成一个域名。具体可以使用可以看官网https://ngrok.com/
  • 在国内开发微信公众号、企业号以及做前端开发的朋友想必对ngrok都不陌生吧,就目前来看,ngrok可是最佳的在内网调试微信服务的tunnel工 具。记得今年春节前,ngrok.com提供的服务还一切正常呢,但春节后似乎就一切不...
  • Ngrok 实现内网穿透教程(Ngrok 和 Sunny-Ngrok

    万次阅读 多人点赞 2019-07-27 00:46:28
    无意中发现了一个巨牛的人工...ngrok是什么我这边就不多介绍了,百度一找一大堆。你可以把它理解为内网穿透的工具。(简而言之就是将内网IP映射成对外可访问的域名) Ngrok使用流程如下: 从https://ngrok...
  • 说在前面的话 看到这篇文章的童鞋们,恭喜你们已经学会了自己解决问题,学会了自己思考,在我们遇到困难的时候,并没有放弃,...那么我们来看看ngrok主要的用处 ngrok的用处 话不多说,先来谈谈我们为什么会用到ngrok, ...
  • ngrok的使用(超详细)

    万次阅读 2020-03-26 17:22:59
    1、ngrok简介 百度百科:ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放. 对于前端的我来说,这丫的讲的啥玩意...
  • ngrok使用教程

    万次阅读 2018-03-14 17:35:12
    ngrok 是一个反向代理,通过在公共端点和本地运行的 Web 服务器之间建立一个安全的通道,实现内网主机的服务可以暴露给外网。ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放,所以ngrok可以很方便地协助...
  • ngrok 后台运行方法

    万次阅读 2016-11-30 14:22:45
    ngrok 用 & 不能后台运行   这就要使用screen这个命令  首先安装screen  apt-get install screen  之后运行  screen -S 任意名字(例如:keepngork)  然后运行ngrok启动命令 最后那快捷键  ctrl+A+...
  • ngrok设置开机自启动

    万次阅读 2016-02-25 22:21:28
    后台运行ngrok的方法在之前的文章中已经介绍。而我们在使用ngrok很多时候希望是开机自己就启动起来,方法如下: 一,在ngrok程序目录下新建一个启动脚本,例如: path=/usr/appdata/ngrok nohup $path/ngrok -...
  • 下载ngrok---》cmd找到ngrok命令----》执行以下命令:ngrok -config ngrok.cfg -subdomain ygj365 8080 ---》ok (ngrok.cofg文件可以配置前缀) ngrok下载地址:http://pan.baidu.com/s/1gfQfVsZ
  • MAC 下使用 ngrok 实现内网穿透

    万次阅读 2018-02-14 15:37:53
    解压到指定目录: $ unzip -n ngrok-stable-darwin-amd64.zip -d /tmp3. 进入到解压后的 ngrok 所在路径: $ cd /tmp4. 开启服务: $ ./ngrok http localhost:8080输入命令后会先出现图1,图2的情况,稍等片刻,....
  • Windows 下 配置 ngrok ngrok使用教程

    万次阅读 2014-12-18 00:08:57
    1. ngrok介绍 ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放。简单来说就是可以通过外网访问你本地的...
  • 基于ngrok实现ssh远程内网传透

    千次阅读 2019-04-04 14:09:42
    基于ngrok实现内网穿透1. 下载ngrok客户端2. 启动ngrok客户端2.1 解压2.2 链接个人账户2.3 启动ngrok3.查看个人ngrok映射地址5.在电脑上使用ssh登录验证 目前ngrok2.0是不开源的,并且ngrok服务器由官方维护。 下面...
  • ngrok客户端windows下和linux下使用教程

    万次阅读 2019-03-22 11:56:39
    ngrok的介绍: Ngrok是一个反向代理,通过在公共的端点和本地运行的Web服务器之间建立一个安全的通道。Ngrok可捕获和分析所有通道上的流量,便于后期分析和重放。简单来说,利用 Ngrok可以通过外网来访问部署在本地...
  • ngrok配置外网域名
  • 使用ngrok使本地访问实现https

    千次阅读 2018-07-20 12:05:37
    ngrok 是一个反向代理,通过在公共端点和本地运行的 Web 服务器之间建立一个安全的通道,实现内网主机的服务可以暴露给外网。ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放,所以ngrok可以很方便地协助...
  • 基于docker镜像的ngrok的搭建和使用

    千次阅读 2018-09-19 14:41:56
    - 建议直接阅读这篇文章 ...docker pull hteen/ngrok # 启动一个容器生成ngrok客户端,服务器端和CA证书 docker run --rm -it \ -e DOMAIN="***.2shou91.com" \ -v /root/ngrok:/myfiles h...
1 2 3 4 5 ... 20
收藏数 5,288
精华内容 2,115
关键字:

ngrok