使用 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 分钟前
Ubuntu 24.04 SSH 多端口监听与 ssh.socket 配置详解
linux·ubuntu·ssh
zym大哥大1 小时前
高并发内存池
服务器·数据库·windows
报错小能手1 小时前
linux学习笔记(18)进程间通讯——共享内存
linux·服务器·前端
de之梦-御风2 小时前
【Linux】 开启关闭MediaMTX服务
linux·运维·服务器
Morphlng2 小时前
wstunnel 实现ssh跳板连接
linux·服务器·网络·ssh
IT 小阿姨(数据库)3 小时前
PostgreSQL通过pg_basebackup物理备份搭建流复制备库(Streaming Replication Standby)
运维·服务器·数据库·sql·postgresql·centos
夜月yeyue4 小时前
ART 加速器、流水线与指令预测的关系详解
linux·服务器·c语言·单片机·嵌入式硬件·性能优化·嵌入式高阶技巧
迎風吹頭髮4 小时前
UNIX下C语言编程与实践36-UNIX 时钟:系统时间、高分辨率时间与日历时间的转换与使用
服务器·c语言·unix
bst@微胖子4 小时前
Harmony中EventHub实现发布订阅
linux·运维·ubuntu
为java加瓦5 小时前
IO多路复用的两种触发机制:ET和LT触发机制。以及IO操作是异步的还是同步的理解
java·服务器·网络