云社区 博客 博客详情

如何让全世界的人都可以访问你本地的网站?——内网击穿之 HTTP 穿透的使用与案例

白鹿第一帅 发表于 2021-02-09 14:10:26 2021-02-09
0
0

【摘要】 对于大多数程序员来说,网站一经开发测试后,我们需要在对网站进行上线测试,但是没有自己的服务器,没有自己的域名,没有公网 IP,这个就成了一个难题。而今天白鹿就带给大家一个小教程,我们采用内网击穿的方式,使用第三方平台的后台和穿透工具,通过设置回调地址实现在全世界任意地方来访问我们本地的网站。

文章目录

  • 前言
  • 一、内网穿透介绍与第三方平台工具
    • 1、内网穿透
    • 2、第三方平台工具——钉钉开发者工具
  • 二、启动内网穿透工具
    • 1、命令及配置介绍
    • 2、查看映射信息
  • 三、测试
    • 1、远程访问本地站点资源
    • 2、关闭
  • 总结

前言

对于大多数程序员来说,网站一经开发测试后,我们需要在对网站进行上线测试,但是没有自己的服务器,没有自己的域名,没有公网 IP,这个就成了一个难题。而今天白鹿就带给大家一个小教程,我们采用内网击穿的方式,使用第三方平台的后台和穿透工具,通过设置回调地址实现在全世界任意地方来访问我们本地的网站。

在这里插入图片描述


一、内网穿透介绍与第三方平台工具

1、内网穿透

内网穿透,也即 NAT 穿透,进行 NAT 穿透是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机。

内网穿透工具可以实现将一个公网域名映射到本地的 localhost 域名。

在这里插入图片描述
关于更多内网穿透的知识与原理烦请大家移步——“内网击穿”,这里就不做赘述。

2、第三方平台工具——钉钉开发者工具

在这里我们使用的第三方工具是“钉钉”,使用钉钉开放平台的开发者工具来实现。

点击——钉钉开发者平台之内网穿透工具了解更多。具体关于该工具的内容以及注意事项,点击前面链接查看。我们根据指示前往 Github 下载相关工具。

在这里插入图片描述

二、启动内网穿透工具

1、命令及配置介绍

cmd 进入命令界面,cd 打开桌面,再打开本地你的电脑。我的设备操作如下:

在这里插入图片描述
然后启动工具,执行命令ding -config=./ding.cfg -subdomain=域名前缀 端口,这里你的域名和操作的端口根据自己的实际需要自行配置,一般我们使用的 Tomcat 开发的默认端口即为 8080,在这里我使用的是 80 的端口,域名前缀为 bailucool,配置如下:

在这里插入图片描述
然后点击回车即可。

2、查看映射信息

这个时候我们就可以查看到刚才配置的 http://bailucool.vaiwan.com 已经被映射到 127.0.0.1:80,即我们的本地。

在这里插入图片描述

三、测试

1、远程访问本地站点资源

配置完成我们就需要对映射进行测试了,我们启动该端口,即我刚才配置的 80 端口,你们如果使用的是Tomcat服务器默认配置启动的,启动 Tomcat 的默认端口 8080 即可。我们使用该域名 http://bailucool.vaiwan.com 来访问我们本地的资源。待页面加载完毕,我们查看地址栏的信息,可以发现是没有问题的。

在这里插入图片描述
加载其他页面也没有问题。

在这里插入图片描述

这个时候也就说明我们的配置是没有任何问题的,现在,全世界都可以通过该地址来访问你的本地资源,你就可以进行模拟的上线测试啦!
在这里插入图片描述

2、查看站点数据请求情况,我们可以看到状态码都是正常的。

在这里插入图片描述

2、关闭

关闭站点,我们只需要在本地将 127.0.0.1:80 关闭即可(将 Tomcat 的 server 关闭)。再将命令界面关闭。


总结

本文给大家介绍了通过“内网击穿”的方式来实现从全世界任意地方访问本地站点资源的方式,一方面既解决了没有公网域名、IP 无法线上测试的苦恼,另一方面又给你一个新的方式来随时随地共享你本地的站点资源。

在这里插入图片描述


我是白鹿,一个不懈奋斗的程序猿。望本文能对你有所裨益,欢迎大家的一键三连!若有其他问题、建议或者补充可以留言在文章下方,感谢大家的支持!

登录后可下载附件,请登录或者注册

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请发送邮件至:huaweicloud.bbs@huawei.com;如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
评论文章 //点赞 收藏 0
点赞
分享文章到微博
分享文章到朋友圈

上一篇:Oracle 数据库、Microsoft SQL Server、MySQL 数据库三种常见数据库的区别深度剖析

下一篇:如何在 jquery 中控制获取 each 的遍历次数(需求场景分析与处理思路总结)

评论 (0)


登录后可评论,请 登录注册

评论