一台Mac上部署多个Next.JS项目绑定多个Cloudflare Tunnel域名对外提供互联网服务
1、Mac上安装cloudflared
brew install cloudflared
检查版本信息
cloudflared --version
2、登录cloudflare
cloudflared tunnel login
它会:
- 自动打开浏览器
- 让你登录 Cloudflare
- 选择你的域名
完成后:
Cloudflare 会在:
~/.cloudflared/
生成认证文件。
异常处理:
如果系统提示已经存在了cert.pem文件,则在命令行中删除此文件即可:
rm /Users/frank/.cloudflared/cert.pem
(其中frank是您当前Mac的用户名,根据实际修改即可)
3、创建Tunnel连接器
cloudflared tunnel create nextjs-app成功后会得到:
Tunnel credentials written to:
~/.cloudflared/xxxxx.json以及:
Created tunnel nextjs-prod with id:
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx记住这个 Tunnel ID。
4、修改config.yml配置文件(~/.cloudflared文件夹下)
tunnel: 你的TunnelID
credentials-file: /Users/你的用户名/.cloudflared/xxxx.json
ingress:
- hostname: app1.frank2000.uk
service: http://localhost:3000
- hostname: app2.frank2000.uk
service: http://localhost:3001
- service: http_status:404
5、绑定DNS域名
绑定的域名必须是之前没有绑定过的,如果已存在,要先删除之前的域名
cloudflared tunnel route dns nextjs-app app1.frank2000.uk
cloudflared tunnel route dns nextjs-app app1.frank2000.uk
特殊情况:
如果报错:
Failed to add route: code: 1002, reason: Tunnel not found
则不要用别名启动,改为用ID启动,如:
cloudflared tunnel route dns 02e11102-215f-467b-9e3d-535f01d218dc app1.frank2000.uk
6、启动Tunnel
cloudflared tunnel run nextjs-app
7、浏览器访问两个域名即可!
app1.frank2000.uk
app2.frank2000.uk
评论
发表评论