美文网首页
localtunnel 使用教程

localtunnel 使用教程

作者: love_program | 来源:发表于2018-07-03 17:01 被阅读83次

简介

  • localtunnel可以将内网服务器暴露到外网服务器(将我们本地电脑的项目暴露到互联网供用户访问)

客户端

  • 下载 npm i -g localtunnel
  • 如果我们本地运行的项目在8080端口,我们通过以下命令可以将本地的8080端口暴露到互联网上面
    ✗ lt --port 8080
    your url is: https://grumpy-donkey-2.localtunnel.me
    
  • 地址栏输入 https://grumpy-donkey-2.localtunnel.me就可以访问我们本地的8080端口项目了
  • 注意: lt默认使用的域名是国外的服务器,经常性的不稳定,而且响应速度也不是很理想,我们可以把源码拉到我们自己的服务器,部署lt服务

服务器端

  • 下载安装
      git clone git://github.com/defunctzombie/localtunnel-server.git
      cd localtunnel-server
      npm install
    
  • 启动lt server
    $ node -r esm bin/server --port 5000 //让程序在前台运行,终端如果关闭的话,程序也就退出了
    $ nohup node -r esm bin/server --port 5000 &//让lt 服务以守护进程的形式运行
    $ lsof -i :5000 //发现已经在后台运行了
    COMMAND   PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
    node    32689 root   12u  IPv4 3254700      0t0  TCP       *:commplex-main (LISTEN)
    

客户端使用自己的服务器

  • 客户端使用(假设还是将本地的8080端口暴露到官网)
    ✗ lt --host http://youself_domain.com:5000 --port 8080
    your url is: http://horrible-robin-16.youself_domain.com:5000
    
  • 通过访问http://horrible-robin-16.youself_domain.com:5000就可以访问本地的8080端口服务了,但是我们发现二级域是一个随机字符串,没事启动的时候都会变化的,有的时候我们不希望变化,比如做微信开发的时候
  • 通过指定--subdomain来指定固定的二级域名
     ✗ lt --host http://youself_domain.com:5000 --port 8080 --subdomain localtunnel
     your url is: http://localtunnel.youself_domain.com:5000
    
  • 通过访问固定域名就可以访问本地的固定的ip服务了 http://localtunnel.youself_domain.com:5000

服务器nginx反向代理

  • 像微信后台填写开发者服务器地址的时候,是不能带有端口号的,但是我们上面的服务在服务器端启动的时候又不能指定成80端口号(默认是80端口号,所以我们启动的时候需要指定非80端口号),之所以不能指定非80端口号是因为我们服务器的一般都会安装nginx,而nginx启动默认应该是80端口号,所以不能冲突
  • 所以我们要想我们启动的lt 服务是通过域名并且是80端口号访问的话就需要通过nginx 做反向代理,配置如下:
 map $http_upgrade $connection_upgrade {
   default upgrade;
   ''      close;
}
server {
   listen 80;
   server_name youself_domain.com localtunnel.youself_domain.com;

       root /usr/local/www;
   error_log /usr/local/nginx/logs/error.log;

   location   / {

        proxy_pass http://127.0.0.1:5000;

           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_set_header Host $http_host;
           proxy_set_header X-Forwarded-Proto http;
           proxy_set_header X-NginX-Proxy true;
           proxy_set_header Upgrade $http_upgrade;
           proxy_set_header Connection $connection_upgrade;

           proxy_redirect off;
   }
}
  • 现在我们就可以直接通过80端口访问我们的服务器lt服务了
     ✗ lt --host http://youself_domain.com --port 8080  --subdomain localtunnel
    your url is: http://localtunnel.youself_domain.com
    
  • 地址栏输入http://localtunnel.youself_domain.com就可以访问我们本地的80端口服务了, 并且也可以把该地址填入微信开发者后台用来访问我们本地的服务了,并且在本地进行调试

相关文章

  • localtunnel 使用教程

    简介 localtunnel可以将内网服务器暴露到外网服务器(将我们本地电脑的项目暴露到互联网供用户访问) 客户端...

  • 内网映射至外网的方案

    使用node模块localtunnel映射内网至外网 安装localtunnel模块 启一个服务,可以使用任意的语...

  • SSH 内网穿透术

    让 ngrok, localtunnel 等见鬼去吧!(ngrok 不用的理由,localtunnel-serve...

  • 使用localtunnel测试本地应用

    本文转自我的博客 使用localtunnel测试本地应用 有时候开发 web 应用需要与第三方 api 交互,需要...

  • 内网穿透

    我在做内网穿透的时候尝试过localtunnel和natapp,但是localtunnel是国外的个人感觉并不好用...

  • Xshell和putty使用教程

    Xshell和putty使用教程 Xshell使用教程 putty使用教程 Xshell使用教程 Xshell个人...

  • 使用localtunnel 代替 ngrok 1.0 穿透内网服

    更换理由 ngrok 最新版为2.x 但我们自己搭建服务只能用1.x ngrok 自建服务比较繁琐,虽然网上有很多...

  • webpack 'Invalid Host header' 错误

    用localtunnel将webpack暴露给外网,但是访问时出现'Invalid Host header'错误....

  • Github

    Github使用教程一Github使用教程二Github使用教程三 Git常用命令Git之使用GitHub搭建远程仓库

  • localtunnel 实现内网穿透

    20180303 localtunnel 自行搭建服务器的请继续往下翻 简介 由于 ipv4 地址的数量不足,大部...

网友评论

      本文标题:localtunnel 使用教程

      本文链接:https://www.haomeiwen.com/subject/sudjuftx.html