文章目录
- 0.写在开头
- 1.一些准备工作
- 2.Cloudflare Tunnel
- 3.最后
0.写在开头
如果你刚接触web项目,想让你的项目部署在公网上,但只是兴趣使然,并不打算花费金钱长期运行,或许本博客对你会有所帮助。
1.一些准备工作
- 首先你需要有一个域名,可以购买,也可以在freenom免费获取,具体教程自己搜索,另外提醒一下。
- freenom使用qq邮箱注册登录即可,但要在edge、chrome或火狐上安装插件Gooreplacer,还要进行一些设置,参考这里。
- 由于是免费域名,请不要用于长期运行使用,据说Freenom会因为各种原因收回域名。
- 然后登录cloudflare添加刚申请的域名,cloudflare可以为该域名提供域名解析服务,具体操作参考这里。
- 教程中说要把域名和IP绑定,这里说的IP是指公网IP,如果不想花钱就要用到cloudflare tunnel,所以不要在cloudflare添加解析记录(比如A类型解析)。
2.Cloudflare Tunnel
- 首先下载Cloudflared,下载地址参考这里,选择适合自己操作系统的版本,下载到的exe文件改名为cloudflared.exe,创建一个cloudflare文件夹存放该文件。
以下操作在windows上进行,网上教程大多是在Linux操作系统操作的。
- 下载后在windows上搜索PowerShell,这是windows电脑自带的。
打开后,用cd命令定位到之前的cloudflare文件夹,成功定位参考如下
D:\cloudflare>
- 接着输入命令,
./cloudflared login
然后会跳转到一个网页或者给出链接(打开链接),在cloudflare网页上点击之前添加的域名,授权,授权成功后将会自动下载cert.pem证书。
- 打开系统盘(比如C盘),打开用户/User文件夹,打开和你电脑名相同的文件夹,查看有没有./cloudflare文件夹,以及里面有无cert.pem证书,没有就自己创建文件夹,放入下载好的cert.pem。
(别怪我讲那么详细,当初就因为教程没说清楚在这里卡住了qwq)
- 继续在PowerShell操作,输入
./cloudflared tunnel create 隧道名称
参考:./cloudflared tunnel create mytunnel
- 绑定隧道到域名,输入
./cloudflared tunnel route dns 隧道名称 域名
这里的域名最好是子域名,比如前缀www.加上你申请的免费域名
参考:./cloudflared tunnel route dns mytunnel www.xxx.ml
正常来说,在cloudflared网页上会自动添加一条CNAME类型的解析记录。
- 运行你的web程序,端口号我用的是8080,可以参考一下,然后启动隧道,输入
./cloudflared tunnel --name 隧道名 --url http://localhost:端口号
如果你web程序用的是https,那要自己摸索尝试。
参考:./cloudflared tunnel --name mytunnel --url http://localhost:8080
- 如果成功了会很快不再弹出其他信息,如果失败了会一直间隔弹出连接信息。
不知道是隧道本身问题还是个人操作问题,隧道启动并不总是成功的,如果失败,将PowerShell关闭重启,重新定位到cloudflare文件夹,启动隧道,即进行上一个操作。
成功后你将可以在浏览器上搜索自己的域名查看网站,但由于解析在国外进行,网速可能会比较慢。
3.最后
- 希望本文会带你一点帮助,还有更多相关的学习或许会在后续补充,一起加油。
[参考]
- cloudflare
https://blog.csdn.net/m0_55216258/article/details/119942656
https://cloud.tencent.com/developer/article/1872459
https://cloud.tencent.com/developer/article/1987534 - freenom
https://zhuanlan.zhihu.com/p/97389072
https://www.wenjinyu.me/how-to-set-dns-for-website-active-some-useful-and-interesting-sub-domain/