使用 Docker 在 Ubuntu 下部署 Cloudflared Tunnel 服务器

在现代互联网中,安全和隐私是至关重要的。Cloudflared Tunnel 是 Cloudflare 提供的一种安全隧道解决方案,可以帮助你安全地将本地服务暴露到互联网,而无需暴露你的服务器 IP 地址。通过 Docker 部署 Cloudflared Tunnel,不仅简化了安装过程,还能轻松管理和更新服务。

简要介绍

Docker 是一款开源的容器化平台,它允许开发者将应用及其依赖打包成一个标准化的单元,称为容器。容器在任何环境中都能快速部署,确保应用的一致性和可移植性。

Cloudflared 是 Cloudflare 提供的一个命令行工具,用于创建与 Cloudflare 网络的安全连接。通过 Cloudflared Tunnel,你可以将本地服务通过 Cloudflare 安全地暴露给互联网,保护你的服务器不被直接访问。

在 Ubuntu 下通过 Docker 部署 Cloudflared Tunnel 的步骤

步骤 1: 安装 Docker

如果你的系统还没有安装 Docker,使用以下命令进行安装:

复制代码
sudo apt update
sudo apt install docker.io -y
sudo systemctl start docker
sudo systemctl enable docker

步骤 2: 拉取 Cloudflared 镜像

使用以下命令拉取 Cloudflared 的 Docker 镜像:

复制代码
sudo docker pull cloudflare/cloudflared

步骤 3: 创建配置文件

在你的主目录下创建一个配置文件 config.yml,内容如下:

复制代码
tunnel: <YOUR_TUNNEL_ID>
credentials-file: /etc/cloudflared/<YOUR_TUNNEL_ID>.json

ingress:
  - hostname: <YOUR_HOSTNAME>
    service: http://localhost:<YOUR_LOCAL_SERVICE_PORT>
  - service: http_status:404

参数说明

  • <YOUR_TUNNEL_ID>: 你的 Cloudflare 隧道 ID,可以在 Cloudflare 控制面板找到。
  • <YOUR_HOSTNAME>: 你希望通过 Cloudflare 访问的域名。
  • <YOUR_LOCAL_SERVICE_PORT>: 本地服务的端口,例如 8080。

步骤 4: 运行 Cloudflared Tunnel

使用以下命令运行 Cloudflared Tunnel:

复制代码
sudo docker run -d --name cloudflared \
  -v /etc/cloudflared:/etc/cloudflared \
  cloudflare/cloudflared tunnel --config /etc/cloudflared/config.yml run

步骤 5: 验证服务

确保 Cloudflared Tunnel 正在运行,可以使用以下命令查看状态:

复制代码
sudo docker logs cloudflared

如果一切正常,你应该能够通过你的域名访问本地服务。

总结

通过 Docker 部署 Cloudflared Tunnel 是一种高效且安全的方法,将你的本地服务公开到互联网。只需几个简单的步骤,你就能享受到 Cloudflare 的强大保护,确保你的应用安全无虞。别忘了定期更新 Docker 镜像和 Cloudflared,保持服务的安全性和稳定性。

相关推荐
中科三方1 小时前
什么是权威解析服务器?权威解析服务器哪些作用?
服务器·git·github
七灵微1 小时前
【后端】单点登录
服务器·前端
bubiyoushang8884 小时前
Windows11 WSL2 Ubuntu编译安装perf工具
linux·运维·ubuntu
xuanwojiuxin5 小时前
linux panic-propagation
linux·运维·服务器
achene_ql7 小时前
select、poll、epoll 与 Reactor 模式
linux·服务器·网络·c++
藥瓿亭7 小时前
K8S认证|CKS题库+答案| 9. 网络策略 NetworkPolicy
linux·运维·docker·云原生·容器·kubernetes·cks
LFloyue8 小时前
Linux离线(zip方式)安装docker
linux·docker
黎相思8 小时前
应用层自定义协议与序列化
运维·服务器·网络
yunken289 小时前
docker容器保存为不依赖基础镜像的独立镜像方法
java·docker·容器
langmeng1109 小时前
使用docker在3台服务器上搭建基于版本redis 6.x的一主两从模式
运维·redis·docker·容器·集群