探索免费隧道服务:为本地开发提供自定义子域名的解决方案

news2024/11/14 5:50:56

目录

引言

使用Ngrok进行本地开发

免费替代方案

Localtunnel

Serveo

Ngrok付费计划(有限的免费试用)

开源替代方案

SISH

总结


引言

        在Web开发中,将本地服务器暴露给互联网进行测试或演示是常见需求。Ngrok等工具因其便捷性而广受欢迎,但其免费版本通常存在动态URL等限制。本文将探讨几个可以提供自定义子域名的免费替代方案,为开发者提供更稳定和方便的解决方案。

使用Ngrok进行本地开发

Ngrok是一款广泛使用的工具,可创建到本地服务器的安全隧道,使其暴露在互联网上。虽然其免费版本功能强大,但不支持自定义子域名,每次启动时生成的URL都是动态的。

设置Ngrok:

  1. 注册Ngrok账户:访问Ngrok官网并注册一个免费账户。
  2. 获取认证令牌:登录后,在仪表板中找到你的认证令牌(authtoken)。
  3. 配置Ngrok认证令牌:
    ngrok authtoken <你的认证令牌>
    
  4. 启动HTTP隧道:
    ngrok http 12445
    
  5. 查看公共URL:
    • Ngrok会生成一个类似https://abcd1234.ngrok.io的URL,用于访问本地12445端口上的服务。

虽然Ngrok免费版对于大多数开发需求已经足够,但其每次启动时生成的动态URL可能不太方便。对于需要自定义子域名的场景,可以考虑以下替代方案。

免费替代方案

Localtunnel

Localtunnel是一款开源工具,简单易用,虽然它不保证子域名的持久性,但可以在每次启动时指定子域名。

使用Localtunnel:

  1. 安装Localtunnel:
    npm install -g localtunnel
    
  2. 启动并指定子域名:

    lt --port 12445 --subdomain yoursubdomain

    如果yoursubdomain可用,Localtunnel会给你一个类似yoursubdomain.loca.lt的URL。

Serveo

Serveo是一个免费的隧道服务,支持SSH隧道,可以指定子域名。

使用Serveo:

  1. 使用SSH连接到Serveo:
    ssh -R yoursubdomain:80:localhost:12445 serveo.net
    
    如果yoursubdomain可用,你将获得一个类似yoursubdomain.serveo.net的URL。

Ngrok付费计划(有限的免费试用)

虽然Ngrok的免费版本不支持自定义子域名,但你可以试用它的付费计划,看看是否满足你的需求。

注册并获取试用期:

  1. 访问Ngrok官网,注册账户。
  2. 升级到付费计划以获得自定义子域名的功能,通常会提供有限的免费试用期。

开源替代方案

SISH

SISH是一个开源的内网穿透工具,你可以在自己的服务器上运行。

使用SISH:

  1. 安装SISH:
    • 需要一个支持Go的环境。
    go get -u github.com/antoniomika/sish
    
  2. 运行SISH服务器:
    sish
    
  3. 配置自定义子域名:
    • 你可以在域名服务商处设置DNS记录,将子域名指向你的SISH服务器。
总结

        Localtunnel和Serveo是两个简单易用的免费选项,适合基本的开发需求。对于更稳定和长期的解决方案,可以考虑使用开源工具并在自己的服务器上运行。如果需要稳定的自定义子域名服务,可以考虑Ngrok的付费计划。

希望这篇文章能帮助你选择适合的隧道服务,提升你的开发体验。如有任何进一步的问题,欢迎随时交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1937943.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【LeetCode】分隔链表

目录 一、题目二、解法完整代码 一、题目 给你一个链表的头节点 head 和一个特定值 x &#xff0c;请你对链表进行分隔&#xff0c;使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你应当 保留 两个分区中每个节点的初始相对位置。 示例 1&#xff1a; 输入&a…

等保-Linux等保测评

等保-Linux等保测评 1.查看相应文件&#xff0c;账户xiaoming的密码设定多久过期 rootdengbap:~# chage -l xiaoming Last password change : password must be changed Password expires : pass…

day5 分布式节点

文章目录 1 流程回顾2 抽象 PeerPicker3 节点选择与 HTTP 客户端4 实现主流程5 main 函数测试。6 QA 本文代码地址&#xff1a; 本文是7天用Go从零实现分布式缓存GeeCache的第五篇。 注册节点(Register Peers)&#xff0c;借助一致性哈希算法选择节点。实现 HTTP 客户端&…

OpenGL-ES 学习(7) ---- VBO EBO 和 VAO

目录 VBO(Vertex Buffer Object)EBO(Element Buffer Object)VAO(Vertex Array Object) VBO(Vertex Buffer Object) EBO(Element Buffer Object) VBO(Vertex Buffer Object) 实际是指顶点缓冲器对象 在 opengl-es 2.0 的编程中&#xff0c;用于绘制图元的顶点数据是从 CPU 传…

LoadRunner-Vugen脚本使用教程

1 使用VuGen录制脚本 1.1新建脚本和解决方案 &#xff08;1&#xff09;打开VuGen&#xff0c;单击【File】→【New Script and Solution】创建项目&#xff0c;弹出Create a New Script对话框。 左侧栏是协议分类&#xff0c;每项含义如下所示&#xff1a; ● Single Pro…

数字通云平台 智慧政务OA PayslipUser SQL注入漏洞复现

0x01 产品简介 数字通云平台智慧政务OA产品是基于云计算、大数据、人工智能等先进技术,为政府部门量身定制的智能化办公系统。该系统旨在提高政府部门的办公效率、协同能力和信息资源共享水平,推动电子政务向更高层次发展。 0x02 漏洞概述 数字通云平台 智慧政务OA Paysli…

pytorch学习(六)transforms使用

1.Transforms可以对训练图像进行预处理&#xff0c;以提高模型的稳定性&#xff0c;提高泛化能力。其中包含&#xff1a; 中心裁剪、数据标准化、缩放、裁剪、旋转、仿射、反转、填充、噪声添加、灰度变换、线性变换、亮度饱和度以及对比度变换等。 所处理的图像用tensorboard…

【iOS】APP仿写——网易云音乐

网易云音乐 启动页发现定时器控制轮播图UIButtonConfiguration 发现换头像 我的总结 启动页 这里我的启动页是使用Xcode自带的启动功能&#xff0c;将图片放置在LaunchScreen中即可。这里也可以通过定时器控制&#xff0c;来实现启动的效果 效果图&#xff1a; 这里放一篇大…

基于视觉工具箱和背景差法的行人检测,行走轨迹跟踪,人员行走习惯统计matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 在三维图中&#xff0c;幅度越大&#xff0c;则表示人员更习惯的行走路线。 2.算法运行软件版本 matlab2022a 3.部分核…

【Nacos】Nacos服务注册与发现 心跳检测机制源码解析

在前两篇文章&#xff0c;介绍了springboot的自动配置原理&#xff0c;而nacos的服务注册就依赖自动配置原理。 Nacos Nacos核心功能点 服务注册 :Nacos Client会通过发送REST请求的方式向Nacos Server注册自己的服务&#xff0c;提供自身的元数据&#xff0c;比如ip地址、端…

【C语言】深入解析希尔排序

文章目录 什么是希尔排序&#xff1f;希尔排序的基本实现代码解释希尔排序的优化希尔排序的性能分析希尔排序的实际应用结论 在C语言编程中&#xff0c;希尔排序是一种高效的排序算法&#xff0c;是插入排序的一种更高效的改进版本。它通过比较相距一定间隔的元素来进行排序&am…

JRT报告打印设计

检验报告单打印一直是个难点问题&#xff0c;JRT开发时候重点考虑了简化检验报告打印&#xff0c;首先采用脚本化方便快速修改报告。然后打印基础解决难点问题&#xff0c;基于JRT打印就可以简化到本文代码的水平&#xff0c;维护方便&#xff0c;结构清晰&#xff0c;上线修改…

【1】Spring Cloud 工程搭建

&#x1f3a5; 个人主页&#xff1a;Dikz12&#x1f525;个人专栏&#xff1a;Spring学习之路&#x1f4d5;格言&#xff1a;吾愚多不敏&#xff0c;而愿加学欢迎大家&#x1f44d;点赞✍评论⭐收藏 目录 1. 父子工程创建 1.1 创建父工程 1.2 创建子项目 重点关注Spring C…

头发稀疏治疗笔记

1. 前言 今天去中南医院看了一下“头发稀疏”的病症&#xff1b; 2. 头皮检测 2.1 毛发光镜检查 2.2 皮肤镜影像

root的安卓12系统上,如何使apk获得root或者高级别的系统权限?

&#x1f3c6;本文收录于《CSDN问答解答》专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收藏&…

JVM--经典的垃圾收集器

1. 垃圾收集器的概念 定义 ; 如果说收集算法是内存回收的方法论&#xff0c;那垃圾收集器就是内存回收的实践者。《Java虚拟机规 范》中对垃圾收集器应该如何实现并没有做出任何规定&#xff0c;因此不同的厂商、不同版本的虚拟机所包含 的垃圾收集器都可能会有很大差别…

Linux journalctl日志太长,如何倒序查看journalctl --reverse,journalctl -xeu

文章目录 需求实验方法一方法二 需求 Linux journalctl日志太长&#xff0c;如何倒序查看 我们通常关心的是最近的日志&#xff0c;但是每次打开日志都是按时间先后顺序显示的&#xff0c;如何倒序查看&#xff0c;请看下面&#xff1a; 实验 方法一 journalctl 命令默认按…

uniapp封装请求拦截器,封装请求拦截和响应拦截的方法

首先我们先看一下uni官方给开发者提供的uni.request用来网络请求的api 1 2 3 4 5 6 7 8 9 uni.request({ url: , method: GET, data: {}, header: {}, success: res > {}, fail: () > {}, complete: () > {} }); 可以看到我们每次请求数据的时候都需…

两种调用方法可以让Contact form 7表单在任意地方显示

Contact form 7是wordpress建站过程中最常用到的插件之一&#xff0c;不过&#xff0c;在Contact form 7调用的时候&#xff0c;有些新手还是搞不太清楚它的调用方法。下面简站wordpress小编&#xff0c;就把常用的两种调用方法&#xff0c;分享给大家&#xff1a; Contact fo…

Open3D 非线性最小二乘法拟合空间球

目录 一、概述 1.1原理 1.2实现步骤 二、代码实现 2.1关键代码 2.1.1定义残差函数 2.1.2拟合球面 2.2完整代码 三、实现效果 3.1原始点云 3.2拟合后点云 3.3结果数据 前期试读&#xff0c;后续会将博客加入下列链接的专栏&#xff0c;欢迎订阅 Open3D点云算法与点…