家庭网络一般都不单独分配公网地址,如果需要从外网访问家里部署的的某项服务,这就很难办到,但是有了cloudflare tunnel,这让一切变得简单。
创建cloudflare tunnel
登录cloudflare,点击zero trust进入tunnel配置页面,点击Networks->Tunnels,点击Add a tunnel
这里以docker为运行环境,点击docker,复制docker运行指令,为了提取其中的token,点击next
Domain选择托管在cf上的二级域名,Type选择http,url填内网的地址和端口号,点击save tunnel
docker运行
docker run --name cloudflared -d --restart always cloudflare/cloudflared:latest tunnel --no-autoupdate run --token "eyJhIjoiOThkNWIwYjc3YTgwYjliYmEwNDRiNTkxZDUxNzAyMmQiLCJ0IjoiNGI3NWU1NTctYWNhNy00MzMwLTgzOTEtOTE3MzQwYzhkZWI4IiwicyI6Ik9UWTBFl4TVRNdFltSXdZUzAwWVRRMExUZzBaVFF0WkRrNFkyVXpZekpoTUdaaiJ9"
后面的token字符串换成自己提取的。
测试
在tunnel页面查看状态,status为healthy代表服务正常。网页测试输入绑定的域名即可。