简介

Localtunnel 是一个可以让内网服务器暴露到公网上的开源项目。

客户端

安装

$ npm install -g localtunnel

使用

假设本地服务器在 8000 端口,我们可以通过下面的命令把本地服务器暴露到公网中

$ lt --port 8000
your url is: https://uhhzexcifv.localtunnel.me

通过上面的命令,我们不需要做其他设置就可以通过 https://uhhzexcifv.localtunnel.me 来访问我们本地服务器了。

由于 localtunnel.me 是国外的服务器,访问速度有时候不太理想,这时候我们可以自己搭建 localtunnel 的服务端。

服务端

安装

$ git clone git://github.com/defunctzombie/localtunnel-server.git
$ cd localtunnel-server
$ npm install

使用

以监听 2000 端口为例:

# 直接使用
$ bin/server --port 2000# 配合 pm2 使用
$ pm2 start bin/server --name lt -- --port 2000

启动服务端程序后,我们只要在使用客户端 lt 时加上 --host 参数,就可以指定服务端了。

# host 后面不要加 /
$ lt --host http://helloworld.com:2000 --port 8000
your url is: http://jhuyudvlum.helloworld.com:2000

这样,我们就可以通过自己的代理服务器来访问本地服务器了,不用经过第三方代理服务器,不必担心代理服务器的安全问题。

高级用法

反向代理

在 Github 上面有一份 Nginx 的配置,我们可以直接使用,或者按照自己的需要做些修改。

指定子域名

有时候,用随机字符串作为子域名并不是一件好事,我们可能需要固定的域名来访问本地服务器。这时,lt --subdomain 就可以派上用场了。

# subdomain 限制长度为 4 ~ 63
$ lt --host http://helloworld.com:2000 --port 8000 --subdomain mysubdomain
your url is: http://mysubdomain.helloworld.com:2000

看到了吗?通过 --subdomain,我们就可以指定自己喜欢的子域名了。

然而,如果我们通过 --host 来指定子域名,会发生什么?

$ lt --host http://mysubdomain.hello.com --port 8000
Error: localtunnel server returned an error, please try again

就算配置了 Nginx 的反向代理,你依然会得到这个错误。可以查看 #21 和 #31 来看更多的细节。

要解决这个问题,最简单的就是 不用 --host 来指定子域名,而用 --subdomain 来指定。

其实有好几个 pull request 都尝试去解决这个问题的,但不知道什么原因,作者一直没去合并。或者再过一段时间,这个问题就会解决,到时候, localtunnel 就会变得更加好用了。

出处

http://scarletsky.github.io/2016/01/17/localtunnel-usage/

参考资料

https://github.com/localtunnel/localtunnel

https://github.com/localtunnel/server

Localtunnel(Node.js 版) 使用教程相关推荐

  1. 视频教程-Node.JS - socket.io教程-Node.js

    Node.JS - socket.io教程 全栈开发工程师,现职于北京一家学院的全栈教学主任. 8年前端开发经验.4年移动端开发经验.4年UI设计经验.3年一线教学经验. 精通Node.JS.PHP. ...

  2. 《Node.js 极简教程》 东海陈光剑

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效. https://nodejs. ...

  3. 必应API接口node.js版 - 极客玩家大白

    文章目录 必应API接口-单条提交 必应API接口-批量提交 批量提交 - 版本1 批量提交 - 改进1 批量提交 - 改进2 Bing还提供了其他API接口 近期,在研究百度.必应.API等的url ...

  4. Node.js下载安装教程

    文章目录 下载Node.js 安装Node.js 验证安装 出现:'node' 不是内部或外部命令,也不是可运行的程序或批处理文件. 下载Node.js 首先进入nodejs官网Node.js (no ...

  5. WebStorm中Node.js项目配置教程(1)——创建项目

    Node.js绝对是一个web开发的热点话题,作为web神器的WebStorm也是开发Node.js的佼佼者. 接下来就Node.js项目在WebStorm的配置操作就行详细的讲解,首先是创建项目.两 ...

  6. 使用Node.js制作爬虫教程

    应邀写一点使用Node.js爬点资料的实例,对于大家建站爬一些初始资料或者做分析研究的小伙伴们应该有些帮助. 目标分析 目标地址:http://wcatproject.com/charSearch/ ...

  7. node.js详细安装教程及使用

    node.js简介 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.  Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效.  Nod ...

  8. linux安装Node.js 详细安装教程

    linux安装Node.js 操作步骤 1. 下载并解压(本文以14为例) 下载 wget https://nodejs.org/dist/v14.17.4/node-v14.17.4-linux-x ...

  9. Node.js详细安装教程(2023)_nodejs安装教程

    官网进行nodejs下载,如下图所示,根据windows的版本选择32或64位的安装包下载. # 2.2 双击安装包安装 可以直接一路next下去, 进行安装位置的选择,我一般装在D盘中 ...,最终 ...

  10. 超详细的Node.js瓦片拼接教程:从原理到实战,助你轻松完成地图应用开发

    Node.js 瓦片拼接,是一项常用于地图应用开发的技术.本篇博客将从原理和实战两个方面介绍 Node.js 瓦片拼接的基本知识和技术要点: 一.什么是瓦片拼接? 瓦片拼接又称瓦片合成,是指将&quo ...

最新文章

  1. 10.17 配置IP,网络问题排查
  2. JAVA作业 02 JAVA语法基础
  3. 门户网站服务器迁移,云服务器怎么迁移网站
  4. 信息安全工程师笔记-网络设备安全
  5. 例子---PHP与Form表单之一
  6. hdu-5493 Queue(二分+树状数组)
  7. oracle 11g regexp_substr,oracle中REGEXP_SUBSTR方法的使用
  8. 中国第一代***代表人物档案
  9. 创建对象和实现原型继承的几种方式
  10. fastadmin表格操作
  11. 最新勒索软件WannaCrypt病毒感染前清除处理及加固
  12. crt格式证书转pem格式证书
  13. Scrum立会报告+燃尽图(Final阶段第七次)
  14. 正向代理和反向代理区别
  15. 做搜索引擎关键词排名优化要多少钱
  16. 解决问题:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
  17. 交叉编译工具链的安装
  18. ssm+JSP计算机毕业设计尤文图斯足球俱乐部网上商城系统05hc1【源码、程序、数据库、部署】
  19. ubuntu 1604 ppa.launchpad.net下载速度慢
  20. 一个相见恨晚的学习网站,全1080P视频教学!

热门文章

  1. 翻译「C++ Rvalue References Explained」C++右值引用详解 Part3:右值引用
  2. bfs-poj-Bloxorz I
  3. android 使用android.support.v7 添加ActionBar
  4. java网络编程基础——TCP网络编程三
  5. 数据呈现—ListView x Adapter
  6. 【leetcode 简单】第五题 最长公共前缀
  7. systemd和sysv服务管理和配置
  8. 数据泵工具导出的步骤(用于Oracle11G和10G之间的相互转换)
  9. Html 解决长串英文字母显示不能自动换行
  10. 几种常见排序算法的时间复杂度和简单描述