使用 ngrok 让外网也能访问本地

开发微信的网页授权时或者给顾客展示开发效果,总需要在访问你的本地开发机,俗称内网穿透,这时候 ngrok 就非常好用了。

这里不讲 ngrok 的原理,大家可以自行了解。

因为本人每次换开发环境都要自己复制一遍 ngrok 以及相关脚本,觉得挺麻烦的,于是开了一个仓库

https://github.com/HanSon/ngrok-script

clone 下来后直接跑脚本即可方便运行 ngrok

git clone https://github.com/HanSon/ngrok-script.git
cd ngrok-script
// if linux or mac
./ngrok.sh domain
// if windows
ngrok.bat domain

domain 是自己设置的域名前缀

例如 ./ngrok.sh hanson

file

这个项目其实没有任何技术含量,只是为了方便自己不再下载 ngrok写脚本这些繁琐的操作。

希望这个能方便到大家。

本作品采用《CC 协议》,转载必须注明作者和本文链接
❤️ 微信生态自动智能化方案加微信:hansonskr ❤️ 备注:vbot
本帖由系统于 6年前 自动加精
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 19

好像好厉害的样子

7年前 评论
hainuo

我下载下来在mac 10.12.4上无法运行 fishshell

( ⌁ ) ngrok-script ) sudo sh ngrok.sh                        (*master) 16:06:25
ngrok.sh: line 1: ./ngrok: cannot execute binary file
7年前 评论

@hainuo 刚留意到没兼容MAC,我改改

7年前 评论

@hainuo 已修改,pull 之后执行 ./ngrok.sh domain 即可

7年前 评论

数字证书支持吗?

6年前 评论

@Hanccc 数字证书过期了吗?还是无效了

6年前 评论

@webstar 应该是,我一般都不用那个,作为开发 http 就够了

6年前 评论

@Hanccc 我用到小程序需要https,能使https生效吗?

6年前 评论

@webstar 开发小程序也不需要 https 啊,也许可以尝试换个 ngrok server,ngrok 的 https 我从没用过

6年前 评论

转发到局域网其他IP或端口,怎么修改?

6年前 评论

@Insua 这个脚本上没支持,但可以改脚本

windows 下改 ngrok.bat 最后的数字

同理,Linux 下改 ngrok.sh

6年前 评论

@Hanccc
谢谢!
我想问一下 怎么转发homestead中的laravel项目?
因为laravel中的web入口文件在public下,访问xxxx.tunnel.2bdata.com 访问不到,访问 xxxx.tunnel.2bdata.com/public会报如下的错误

( ! ) Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0
( ! ) Fatal error: Unknown: Failed opening required '/home/vagrant/Code/Test/index.php' (include_path='.:/usr/share/php:/usr/share/pear') in Unknown on line 0

6年前 评论

@Insua 这是nginx的事情,自己看看 nginx 以及 nginx 的配置吧

6年前 评论
leung0826

win 10,一直提示重新连接。执行的命令 ngrok.bat domain.com

ngrok                                                   (Ctrl+C to quit)
Tunnel Status                 reconnecting
Version                           1.7/
Web Interface                 127.0.0.1:4040
# Conn                             0
Avg Conn Time                 0.00ms
6年前 评论

@leung0826 出现这样的画面就证明成功了,只是服务商的服务挂了

6年前 评论
jaak

@Insua Homestead 内置了自己的 share 命令,该功能实现的原理是通过 Ngrok将本地服务分享到互联网上进行公开访问。 vagrant ssh 登录到 Homestead 虚拟机然后运行 share homestead.app 命令,这样就可以分享 homestead.app 站点了,其他站点分享以此类推

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!