目录
引言
使用Ngrok进行本地开发
免费替代方案
Localtunnel
Serveo
Ngrok付费计划(有限的免费试用)
开源替代方案
SISH
总结
引言
在Web开发中,将本地服务器暴露给互联网进行测试或演示是常见需求。Ngrok等工具因其便捷性而广受欢迎,但其免费版本通常存在动态URL等限制。本文将探讨几个可以提供自定义子域名的免费替代方案,为开发者提供更稳定和方便的解决方案。
使用Ngrok进行本地开发
Ngrok是一款广泛使用的工具,可创建到本地服务器的安全隧道,使其暴露在互联网上。虽然其免费版本功能强大,但不支持自定义子域名,每次启动时生成的URL都是动态的。
设置Ngrok:
- 注册Ngrok账户:访问Ngrok官网并注册一个免费账户。
- 获取认证令牌:登录后,在仪表板中找到你的认证令牌(authtoken)。
- 配置Ngrok认证令牌:
ngrok authtoken <你的认证令牌>
- 启动HTTP隧道:
ngrok http 12445
- 查看公共URL:
- Ngrok会生成一个类似
https://abcd1234.ngrok.io
的URL,用于访问本地12445端口上的服务。
- Ngrok会生成一个类似
虽然Ngrok免费版对于大多数开发需求已经足够,但其每次启动时生成的动态URL可能不太方便。对于需要自定义子域名的场景,可以考虑以下替代方案。
免费替代方案
Localtunnel
Localtunnel是一款开源工具,简单易用,虽然它不保证子域名的持久性,但可以在每次启动时指定子域名。
使用Localtunnel:
- 安装Localtunnel:
npm install -g localtunnel
- 启动并指定子域名:
如果
lt --port 12445 --subdomain yoursubdomain
yoursubdomain
可用,Localtunnel会给你一个类似yoursubdomain.loca.lt
的URL。
Serveo
Serveo是一个免费的隧道服务,支持SSH隧道,可以指定子域名。
使用Serveo:
- 使用SSH连接到Serveo:
ssh -R yoursubdomain:80:localhost:12445 serveo.net
如果yoursubdomain
可用,你将获得一个类似yoursubdomain.serveo.net
的URL。
Ngrok付费计划(有限的免费试用)
虽然Ngrok的免费版本不支持自定义子域名,但你可以试用它的付费计划,看看是否满足你的需求。
注册并获取试用期:
- 访问Ngrok官网,注册账户。
- 升级到付费计划以获得自定义子域名的功能,通常会提供有限的免费试用期。
开源替代方案
SISH
SISH是一个开源的内网穿透工具,你可以在自己的服务器上运行。
使用SISH:
- 安装SISH:
- 需要一个支持Go的环境。
go get -u github.com/antoniomika/sish
- 运行SISH服务器:
sish
- 配置自定义子域名:
- 你可以在域名服务商处设置DNS记录,将子域名指向你的SISH服务器。
总结
Localtunnel和Serveo是两个简单易用的免费选项,适合基本的开发需求。对于更稳定和长期的解决方案,可以考虑使用开源工具并在自己的服务器上运行。如果需要稳定的自定义子域名服务,可以考虑Ngrok的付费计划。
希望这篇文章能帮助你选择适合的隧道服务,提升你的开发体验。如有任何进一步的问题,欢迎随时交流。