使用 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,保持服务的安全性和稳定性。

相关推荐
巴渝小禹41 分钟前
【Ubuntu】虚拟机 Ubuntu 挂载 宿主机 Windows文件夹
linux·ubuntu
wanhengidc1 小时前
云手机存在的意义是什么
运维·服务器·arm开发·安全·智能手机
Wang's Blog4 小时前
Nestjs框架: 微服务容器化部署与网络通信解决方案
docker·微服务·云原生·架构·nestjs
脚踏实地的大梦想家4 小时前
【Docker】P2 Docker 命令:从Nginx部署到镜像分享的全流程指南
java·nginx·docker
报错小能手4 小时前
计算机网络自顶向下方法25——运输层 TCP流量控制 连接管理 “四次挥手”的优化
服务器·网络·计算机网络
郭源潮14 小时前
《Muduo网络库:实现TcpServer类终章》
服务器·网络·c++·网络库
半夏知半秋5 小时前
mongodb的复制集整理
服务器·开发语言·数据库·后端·学习·mongodb
极限实验室5 小时前
使用 Docker Compose 轻松实现 INFINI Console 离线部署与持久化管理
docker·devops
The Chosen One9856 小时前
【Linux】Linux权限讲解 :写给文件的一封情书
linux·运维·服务器
天地之于壹炁兮7 小时前
Docker革命:软件开发的集装箱时代
docker·容器·eureka