除了使用FRP部署内网穿透和使用ssh执行端口转发和内网穿透外,在没有云服务器的情况下,也可以使用 Cloudflare免费的Zero Trust实现内网穿透服务。
在此之前,需要满足以下条件:
Docker 安装可用于有 root 权限的服务器,配置比较方便。
没有 root 权限下,可按照以下步骤安装。以 red hat 系统为例。
curl -L --output cloudflared.rpm https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-x86_64.rpm
mkdir ~/.cloudflared
rpm2cpio ~/cloudflared.rpm | cpio -idv
.cloudflared.exe --version
cloudflared tunnel login
这条命令会打开一个浏览器窗口, 并提示登录。它会在默认的 ~/.cloudflared
目录中生成一个账户证书,即 cert.pem
文件。
在安装 Cloudflare 后,开始部署内网穿透服务。
cloudflared tunnel create <NAME>
其中 <NAME>
是为隧道选择的名称。这个命令会创建一个隧道,并在您提供的名称和隧道的 UUID 之间建立持久的关系。
创建之后出现以下提示:
Tunnel credentials written to /home/wang/.cloudflared/2248485f-e727-4532-91d0-4f35904c88e5.json.
cloudflared chose this file based on where your origin certificate was found. Keep this file secret. To revoke these credentials, delete the tunnel.
这样会在 .cloudflared
目录中生成一个隧道凭证文件 *.json
子域名。
cloudflared tunnel route dns <HOME> service1.example.com
cloudflared tunnel route dns <HOME> service2.example.com
...
~/.cloudflared
里新建一个 config.yml
。编辑文件为:tunnel: 2248485f-e727-4532-91d0-4f35904c88e5
credentials-file: /home/wang/.cloudflared/2248485f-e727-4532-91d0-4f35904c88e5.json
ingress:
- hostname: service1.example.com
service: http://localhost:8080
- hostname: service2.example.com
service: http://localhost:8096
- service: http_status:404
cloudflared tunnel run <NAME>
如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!
添加我为好友,拉您入交流群!
请使用微信扫一扫!