范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Linux搭建ngrok服务器,内网穿透服务,实现外网到内网的在线访问

  一:前言
  场景问题:
  如果本地的项目在没有服务器的情况下,需要让他人访问;
  在自己的电脑上搭建一个web服务器,实现本地的访问和外部的访问。我们就要做内网穿透了,内网穿透就是别人通过外网能够访问到我们本地的服务器。
  市面上一些主流的内网穿透工具有:
  Ngrok,Natapp,花生壳,Ssh、autossh,Frp,Lanproxy,Spike
  这里介绍使用Ngrok工具。二:使用官网自带的服务器
  官网提供免费的服务器可使用,但是域名是随机的,只能临时使用,但是作为开发测试,给远方的甲方看到自己的电脑上的项目,还是足够了。
  傻瓜式操作,5分钟完成。
  官方网站:https://ngrok.com/
  自己下载相应的版本即可,我这里是Linux,选择Linux即可。
  官方提供个三种安装方式,都可以使用。
  第一种:下载解压得到一个脚本文件,执行即可。
  第二种:apt安装即可。
  第三种:用snap工具安装。
  我这里用snap安装:sudo snap install ngrok
  添加authtoken,authtoken需要注册登录进去才可以看到,我用google邮箱默认登录即可。
  添加authtokensudo ngrok config add-authtoken 29xKUhVc76mfOyPp3IYrXk6KIe7_4modhP9oq1B3beAWRKCtC
  添加完成后,直接执行需要启动的端口即可。如这里是web网站,就使用80端口启动。sudo ngrok http 80
  启动后,会随机分配一个域名,用这个域名就可以实现外网访问自己电脑内网了,启动后界面:
  这里分配的域名为https://1414-96-9-67-134.ap.ngrok.io/,如果是甲方,给他用这个域名,就可以访问自己的电脑的web网页了。
  浏览器打开测试就可以访问了。
  三:自己搭建ngrok服务器
  虽然官方有自己的服务器,需要更多的功能还是需要付费,比如自定义域名。所以这里可以自己搭建服务器。
  目前只有版本1开源可搭建,版本2以上没有开源,毕竟人家也要吃饭的。代码也要2016年停止更新,所以现在基本都是用这套代码的。
  github地址:https://github.com/inconshreveable/ngrok
  官方示意图:
  1:域名解析
  这里是我自己的域名ywbj.cc 为例子配置。
  打开域名管理页面,建立两个A记录,把域名解析到服务器上,用来关联ngrok服务。
  添加*.ngrok.ywbj.cc和ngrok.ywbj.cc两条记录
  到时候将通过 xxx.ngrok.ywbj.cc:端口 来访问代理服务器。
  2:安装git
  git一般是默认安装的,没有的话直接安装即可#centos yum install git #或者ubuntu sudo apt install git
  3:安装、配置go语言环境
  ngrok是基于go语言开发的,所以需要先安装go语言开发环境。
  我这里是ubuntu,直接安装sudo apt install golang -y
  安装完成后go version可查看版本是否安装成功。ubuntu@ubuntu:~# go version go version go1.13.8 linux/amd64
  安装好后,需设置go环境变量。
  由于我是在线安装,只需要配置两个环境变量。cd ~ # 到主目录 vi .bashrc # 打开配置文件,在末尾添加如下 export GOPATH=/usr/local/ngrok/ # 这个目录是go的工作目录,即等下要编译ngrok的目录 export NGROK_DOMAIN="ngrok.ywbj.cc" #ngrok服务二级域名,后面生成证书时的$NGROK_DOMAIN
  如果是自己下载的golang版本,则还需要配置添加其他两个环境变量,这里例子为:下载版本放在安装 /usr/local 路径:export GOROOT=/usr/local/go # 这个目录是go的解压目录 export PATH=$GOROOT/bin:$PATH:$GOPATH/bin # 设置bin目录
  更改完成后,刷新生效配置source .bashrc
  4:下载获取 Ngrok 源码
  下载源码git clone https://github.com/tutumcloud/ngrok.git ngrok
  进入目录cd ngrok
  5:根据自己的域名生成证书
  openssl具体参数,可以自行研究,比较复杂,下面$NGROK_DOMAIN变量,就是环境变量已经配置好了。如果没有配置DOMAIN环境变量,也可以,只需要在执行前加条命令。NGROK_DOMAIN="ngrok.ywbj.cc"
  然后生成证书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 cp server.crt assets/server/tls/snakeoil.crt cp server.key assets/server/tls/snakeoil.key
  6:编译生成服务端和客户端
  ngrokd 为服务端的执行文件,ngrok为客户端的执行文件。make release-server release-client
  注:我这里服务器和客户端都是同一平台,所以我同时编译即可。如果客户端不同,分开执行。
  以windows、arm、linux客户端版本编译,如下:GOOS=linux GOARCH=amd64 make release-client GOOS=windows GOARCH=amd64 make release-client GOOS=linux GOARCH=arm make release-client
  不同平台使用不同的 GOOS 和 GOARCH,GOOS为go编译出来的操作系统 (windows,linux,darwin),GOARCH, 对应的构架 (386,amd64,arm),对应如下: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
  编译出的程序会放在ngrok/bin/下,ngrok为客户端程序,ngrokd为服务器程序。
  7:启动服务器端
  ngrokd为服务器端。cd ngrok/ sudo ./bin/ngrokd -domain="ngrok.ywbj.cc" -httpAddr=":8080" -httpsAddr=":8081" -tunnelAddr=":4443"
  上面domain为自己的域名,设置默认http,https端口分别为8080,8081,连接的tunnel(隧道端口)为4443端口。端口可以随意设置,并不是唯一的。
  启动后浏览访问http://ngrok.ywbj.cc:8080/,可以看到提示,也是启动了隧道。
  查看端口情况,也可以看到已经启动。netstat -lntup|grep ngrok
  8:客户端启动
  将ngrok通过工具,传送到需要穿透的客户端机器。
  在同一文件夹中,创建ngrok.cfg配置文件,并写入基础配置。sudo vim ngrok.cfg
  添加内容如下:server_addr: "ngrok.ywbj.cc:4443" trust_host_root_cert: false
  此文件位YAML格式,缩进用空格。
  server_addr后填写你的域名,要和之前写的一模一样。
  4443是固定端口,一般不改,但也可以在服务端更改。
  web也可以改成其他,启动客户端80端口。./ngrok -subdomain web -config=ngrok.cfg 80
  第一次启动有点慢,耐心一点,可能需要等待重连一会。连接成功后,显示:
  浏览器访问http://web.ngrok.ywbj.cc:8080/即可穿透访问内网客户端80端口。
  9:使用固定端口配置
  如果想一次性转发多个端口或者想指定远程的对应端口,需要完善ngrok.cfg,如:server_addr: ngrok.lanthy.com:4443 trust_host_root_certs: false tunnels:  ssh:   remote_port: 1122   proto:    tcp: 22  ss:   remote_port: 8388   proto:    tcp: 8388  ftp:   remote_port: 20   proto:    tcp: 20  ftp2:   remote_port: 21   proto:    tcp: 21  http:   subdomain: www   proto:    http: 80    https: 192.168.1.22:443
  使用方法,启动特定的转发tunnel./ngrok -config=ngrok.cfg start http
  当然也可以将所有配置全部转发./ngrok -config ngrok.cfg start-all
  10:后台启动
  服务端:nohup ./bin/ngrokd -domain="ngrok.ywbj.cc" -httpAddr=:8080 -httpsAddr=":8081" -tunnelAddr=":4443" > /var/log/ngrokd.log 2>&1 &
  客户端:
  必须加上参数 -log=stdout,否则是不行的nohup ./ngrok -config ngrok.cfg -log=stdout start-all > /var/log/ngrok.log 2>&1 &
  到此,ngrok服务器搭建完成。

零碳园区智慧路灯生产厂家低碳园区智能路灯设备价格零碳园区智慧路灯不仅具备普通路灯的照明功能,灯杆上面还安装了5GJ站摄像头液晶显示屏和灯箱等,集城市实时视频信号通讯智能充电多功能于一体。和普通的灯杆相比,零碳园区智慧路灯还可以安美国夏威夷火山喷发未减弱岩浆逼近交通干道来源央视新闻客户端世界最大活火山美国夏威夷州冒纳罗亚火山11月27日开始喷发,截至12月2日喷发活动尚无减弱迹象。岩浆持续涌向周边地区,正逐渐逼近一条重要交通干道。冒纳罗亚火山位于散文十二月,安静于暖,安然于心,坦然走入寒冬作者子墨一晃,已经到了一年中最后的一个月,天空不甚晴朗,灰蒙蒙的,却没有一点下雪的迹象,阴暗的天空下,寒风吹得很紧,一阵似一阵紧促,或许,这就是冬日平常了。风过处,一路落叶飘零,沿跌幅42。98,宁波银行您怎么看?宁波银行从2021年2月的最高点41。41元到近期的低点23。61元,跌幅达到42。98。近段时间,股价涨至32。34元,涨幅达到36。98。那么我们现在是应该建仓还是继续等待?它可鲁克湖首次拍到国内罕见鸟类印度池鹭近日,摄影爱好者在青海可鲁克湖托素湖省级自然保护区采风时意外拍摄到国内罕见鸟类印度池鹭。这也是继2014年在新疆喀什被发现,2020年出现在大理剑湖湿地之后首次出现在青海境内。印度过年走亲戚,送酒不是越贵越好,这8款酒虽然价格不高,牌面却大马上又到了2023年的新春佳节,除了一家团圆,过个小长假,走亲戚也是一项非常重要的活动。我们一般都会提两瓶好酒,去亲戚家坐坐。选哪些酒,成了一件重要的事。我们都知道,酒的价格越贵,不想说话的文案头条创作挑战赛01你只是话说的漂亮。02长记性了,没下次了。03不做任何人的第二选择。04不被理解,就不想说话。05需要的时候,却总是失望。06行动永远比承诺更让人心动。07迟早都动力电池产能过剩警报拉响摘要人们总是在蒙眼狂奔中丢失了历史这面镜子。记者王帅国在一遍遍狼来了的呼声与新能源汽车一波又一波的销售高潮中,人们似乎已经不再相信动力电池产能会出现过剩的论调。但这一次,狼真的要来产能规模跟不上,8亿元的蛋糕丰元股份只吃了不到四分之一记者牛其昌编辑去年签订的8亿元供货大单,在过去一年中却因自身产能不足仅仅完成了不到2亿元,锂电池正极材料供应商丰元股份(002805。SZ)正被自身产能掣肘。合同完成不到四分之一12022最后一个月往事清零,爱恨随意转眼,2022就快过完,时间来不急细算,过往来不及细看,甚至这一年都没对自己好一点,不知不觉,就这样走完。2022最后一个月,送自己八个字往事归零,爱恨随意!年末,往事清零。过去再张文宏最新研判!多地层层减码张文宏未来对新冠流行的控制重在降低致病率在12月3日举办的中华医学会2022年医学病毒学大会上,国家传染病医学中心复旦大学附属华山医院感染科主任张文宏表示,随着新冠病毒出现新的变化
到秋天才知道,今年不流行裙子丝袜了,下面这样搭,优雅又时髦对于身材不是特别好的人,秋天穿衣打扮真的是一项挑战,天冷了不敢露腿,穿裤子又不好看。穿裙子呢,似乎也有些烦恼,短裙搭丝袜肤色不匹配略显尴尬,长裙穿丝袜多余,不穿脚踝又冷。好在时尚风鼻子塌算什么,鼻孔外露才是真拉低颜值,太多人遭殃了都说相由心生,但皮相美永远可以抓住人们的第一眼好感。与生俱来的好看皮囊,在社会上的确可以给我们带来不少的称赞和自信。但人无完人,几乎没有人对自我五官百分之百满意,鼻子不够挺翘眼睛不殷桃终于剪了短发,穿亮片裙配黑丝袜亮相,美腿让人目不转睛在现如今其实大多数女孩都不太会尝试穿丝袜了,很多人都会觉得丝袜的搭配太俗气,但殷桃终于剪了短发,穿上了一条黑色丝袜,搭配着黑色的亮片连衣裙秀出了她的纤细双腿。看上去还是很美,这一身今秋流行的裤子,越宽越好有没有发现,现在很多人穿小脚裤了,反而更喜欢宽宽的裤子,尤其是阔腿裤,阔腿裤不挑腿型,管你是大粗腿还是O型腿还是X型腿,都能很好的盖住。但是宽宽的阔腿裤也是需要穿搭技巧的,不然很容日联杯广岛三箭VS福冈黄蜂主队广岛三箭主帅是56岁的德国教头米歇尔斯基贝。此君球员时代司职中场,出自沙尔克04,但22岁就退役了。斯基贝退役后深耕青训,带过沙尔克04多特蒙德和德国青年队。还以主帅身份执掌过库尔图瓦如阿扎尔把握住射门机会,今天的比赛结果可能不同直播吧9月26日讯北京时间9月26日凌晨,202223赛季欧国联A4组第6轮展开角逐,荷兰主场10小胜比利时,荷兰6轮不败锁定小组头名晋级决赛圈,比利时位居次席。库尔图瓦在赛后接受阿诺德谈双红会输球曼联刚输了00直播吧9月26日讯利物浦后卫阿诺德日前接受采访时,谈到了本赛季首次双红会失利。我们受到了影响,他们刚刚04输给了布伦特福德,对阵我们时,不管如何他们都要尝试并赢得比赛。我想,我们可磕磕绊绊赢球,蔡斌选错一人让李盈莹压力倍增,发生了什么?把过多的关注放在女篮世界杯上,女排世锦赛开赛的重要消息也忽视了,直到开场才发现龚翔宇缺席,顿时感到不妙。朱婷张常宁养伤,这次女排世界锦标赛成绩方面多数球迷并没有抱很大的期望,如果蔡贵圈真乱!皮蓬前妻拉尔萨与乔丹儿子在餐厅拥抱亲吻,直接坐大腿近日,关于NBA的花边新闻真的是层出不出,凯尔特人主帅乌度卡的事件才刚刚平息。这边皮蓬前妻拉尔萨又出来惹事了。不过对于没有NBA比赛看的球迷来说倒是看的很开心。因为这次的花边属于有科尔格林恢复得很好他训练赛发挥出色北京时间9月26日,勇士队进行了新赛季开始前的首次球队训练。训练后勇士主教练史蒂夫科尔谈到了德雷蒙德格林的身体状况,科尔说道他的身体状况看起来不错,他的移动能力很好,无论是起跳还是62!7连胜!中甲首支冲超球队浮现,前国脚与归化球员组豪阵中超正如火如荼地进行,另一边低级别的联赛中甲也已经进行到第23轮联赛,其中在领头羊昆山FC与上海嘉定队的比赛中,昆山队以62横扫对手,豪取联赛的7连胜,领先第四名的青岛海牛有13分