让世界连接你的本地服务器

简介: 让世界连接你的本地服务器

前言



一般我们在开发的时候都是在内网环境中,服务器访问外部公网接口没问题,但如果出现与第三方接口对接,需要暴露我们的接口供第三方主动调用( 比如支付相关业务 )的情况时,我们内网的 IP 地址显然是外部无法访问的,因此需要有相应的手段应对:第一种方案,配置路由器什么的,比较麻烦;第二种方案,将工程项目部署到公网可访问的服务器上( 比如各种云服务器什么的 ),小题大做;第三种方案,接着看下去。


ngrok



Expose your local server to the internet.  服务器依旧运行在你的本地环境中,使用 ngrok 即可将其暴露给公网,ngrok 会随机生成一个已经验证过的域名地址,外网访问此域名地址,ngrok 则会在自己的服务器上做地址的转换并建立与你本地服务器的连接通道以传递客户端与服务器之间的数据( 就是一个中间人的角色 )。


使用示例



安装 ngrok :前往官网下载并解压即可。


准备服务器:简单的 hello word 即可,如下图


随后启动原有的 node 服务器,nodemon、forever、pm2 原来是怎么启动的,现在也怎么启动。


见证奇迹的时刻:

ngrok  http  3000 

随后你将会看到下图所示:


咯,公网地址给你了,http 和 https 的都行,为了验证能不能访问,我们在浏览器中输入这个地址试试( 这里没有更改本地 DNS 的 host 文件,所以是当成公网访问的 ),结果如下图:

事实证明有效。


ngrok 在全球有四个服务器,默认使用的是位于美国的服务器,为了提升下响应速度,我们可以使用新加坡的服务器,设置 region 即可:

ngrok  http  3000  -region  ap

其它的  https 服务器也好、授权认证也好、还是 TLS/TCP 连接,ngrok 都没问题,具体怎么用自己看官方文档吧。


localtunnel



localtunnel 是在 github 上开源的库,而且是 MIT 协议( 如果你对这些协议不了解可以去翻翻我很早之前写的文章 「 被忽视的 License 」),这个项目使用的是个人服务器,只有一个而且在美国,而且不怎么稳定,就因为它开源,所以我还是提一下,毕竟精神可嘉,但是还是建议用 ngrok 。


结束语



ngrok 非常简单实用,虽然它本身是中间人,但是你完全可以使用 https 协议来保证你的数据安全,当然话说回来,这些玩意儿主要也都只是开发的时候测试用用。好了,又愉快的水了一篇文章,大家再见。

目录
相关文章
|
3月前
|
IDE 网络安全 开发工具
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
本文介绍了如何使用VS Code通过Remote-SSH插件连接远程服务器进行代码开发,并与PyCharm进行了对比。作者认为VS Code在连接和配置多个服务器时更为简单,推荐使用VS Code。文章详细说明了VS Code的安装、远程插件安装、SSH配置文件编写、服务器连接以及如何在连接后切换文件夹。此外,还提供了使用密钥进行免密登录的方法和解决权限问题的步骤。
1144 0
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
|
3月前
|
IDE 网络安全 开发工具
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
本文介绍了如何在PyCharm专业版中连接远程服务器并配置远程Python环境解释器,以便在服务器上运行代码。
521 0
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
|
3月前
|
存储 网络协议 Java
【网络】UDP回显服务器和客户端的构造,以及连接流程
【网络】UDP回显服务器和客户端的构造,以及连接流程
64 2
|
3月前
|
前端开发 Java
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
文章介绍了如何使用SpringBoot创建简单的后端服务器来处理HTTP请求,包括建立连接、编写Controller处理请求,并返回响应给前端或网址。
62 0
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
|
3月前
|
Apache 数据中心 Windows
将网站迁移到阿里云Windows系统云服务器,访问该站点提示连接被拒绝,如何处理?
将网站迁移到阿里云Windows系统云服务器,访问该站点提示连接被拒绝,如何处理?
|
3月前
|
弹性计算 安全 Windows
通过远程桌面连接Windows服务器提示“由于协议错误,会话将被中断,请重新连接到远程计算机”错误怎么办?
通过远程桌面连接Windows服务器提示“由于协议错误,会话将被中断,请重新连接到远程计算机”错误怎么办?
|
4月前
|
JavaScript 前端开发
vue配合axios连接express搭建的node服务器接口_简单案例
文章介绍了如何使用Express框架搭建一个简单的Node服务器,并使用Vue结合Axios进行前端开发和接口调用,同时讨论了开发过程中遇到的跨域问题及其解决方案。
74 0
vue配合axios连接express搭建的node服务器接口_简单案例
|
3月前
|
SQL 数据库
SQL-serve数据库不能连接本地服务器的解决方案
SQL-serve数据库不能连接本地服务器的解决方案
370 0
|
5月前
|
网络安全 数据安全/隐私保护
VSC通过 SSH 连接到远程服务器时,每次都需要输入密码
VSC通过 SSH 连接到远程服务器时,每次都需要输入密码
1320 0
|
5月前
|
Linux 网络安全 网络架构
如何处理在学校Linux连接不上服务器
如何处理在学校Linux连接不上服务器