今年我更换了 Docker 版本,因此更新一下
services:
ngrok:
image: ngrok/ngrok:latest
volumes:
- ./ngrok.yml:/etc/ngrok.yml
environment:
NGROK_AUTHTOKEN: 你的authkey
NGROK_CONFIG: /etc/ngrok.yml
version: 3
agent:
web_addr: 0.0.0.0:4040
tunnels:
example: #你自定义的管道名称
proto: http
addr: https://demo.lcoal/ # 你自定义的域名
Bug: 这里我遇到一个 无论我 addr 怎么写,始终给我代理的是 nginx 中文件第一个域名,这里我排查了一下设置了 nginx 配置 default_server 就可以了。
检查好你 nginx
下边的所有配置 listen
是否有 default_server
,把他全部删除,直到剩下你需要配置的 nginx
配置
例如:
└── conf.d
├── domain1.conf
├── domain2.conf
├── domain3.conf
└── domain*.conf
由于开发环境没有外网 IP,支付宝和微信支付的回调无法直接访问到开发环境的接口,了解一下内网穿透神器 Ngrok,来解决此问题。
Ngrok 是一个反向代理软件,启动后会在公共服务器和本地客户端之间建立一个通道,并由公共服务器分配一个唯一的域名给这个通道。在 Homestead 中运行 Ngrok 之后,通过公共服务器分配的域名就可以在公网访问到 Homestead 中的站点,从而让支付宝和微信支付的服务器直接将回调数据发送到对应的回调接口。
Ngrok 官网提供了免费的公共服务器,但需要注册才能使用,访问注册:Ngrok 官网
注册后可以看到以下内容:
首先你得去下载 ngrok 集成命令包,下载后解压,来到根目录配置 token。
./ngrok authtoken 你的token
2025 年 1 月 4 日更新
./ngrok http 你的本地域名
即可启动
http
代表映射协议
执行成功后访问 http://localhost:4040 就有 ngrok 管理面板了。
ngrok authtoken 你的token
ngrok http 本地域名
注意看 Web Interface,地址已经变成 http://192.168.10.10:4040
原文: http://yiqiao.me/articles/31/integrated-ngrok-reverse-proxy
版权声明: 自由转载-非商用-非衍生-保持署名 (创意共享3.0许可证)