在 Ubuntu 下通过 Docker 部署 Cloudflared Tunnel 服务器

Cloudflared 是 Cloudflare 提供的一个命令行工具,用于创建安全的隧道,连接本地服务器与 Cloudflare 的网络。通过 Cloudflared Tunnel,可以轻松实现安全的远程访问,保护应用程序和服务免受 DDoS 攻击。Docker 则是一个强大的容器化平台,能够快速打包和运行应用程序,使得部署和管理变得更加简单和高效。

一、使用到的 Docker 和 Cloudflared Tunnel 软件简介

  • Docker:Docker 是一种开源的应用容器引擎,允许开发者将应用及其依赖打包成一个标准化的容器。容器可以在任何支持 Docker 的环境中运行,保证了环境的一致性和可移植性。

  • Cloudflared:Cloudflared 是用来与 Cloudflare 网络进行交互的工具,主要用于创建安全的隧道,支持 HTTP(S) 服务的快速部署和访问。它使得开发者能够轻松连接到 Cloudflare 的边缘网络,实现安全且高效的网络访问。

二、在 Ubuntu 下通过 Docker 部署 Cloudflared Tunnel 服务器的步骤

步骤 1:安装 Docker

首先,确保你的 Ubuntu 系统上安装了 Docker。可以使用以下命令进行安装:

复制代码
sudo apt update
sudo apt install docker.io

安装完成后,启动 Docker 并设置为开机自启:

复制代码
sudo systemctl start docker
sudo systemctl enable docker

步骤 2:创建 Cloudflare Tunnel

在使用 Cloudflared 之前,首先需要在 Cloudflare 中创建一个 Tunnel。使用以下命令登录 Cloudflare:

复制代码
docker run -it --rm \
  cloudflare/cloudflared:latest login

这会打开浏览器,要求你登录 Cloudflare 账户并授权。

步骤 3:运行 Cloudflared Tunnel

创建 Tunnel 后,使用以下命令启动 Cloudflared:

复制代码
docker run -d \
  --name cloudflared \
  -v /path/to/your/config:/etc/cloudflared \
  cloudflare/cloudflared:latest tunnel run

步骤 4:配置文件

/path/to/your/config 目录下,创建一个名为 config.yml 的配置文件,内容如下:

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

ingress:
  - hostname: example.com
    service: http://localhost:8080
  - service: http_status:404

参数解释

  • -d:后台运行容器。
  • --name:指定容器名称。
  • -v:将主机目录挂载到容器内,便于访问配置文件。
  • tunnel:你的 Cloudflare Tunnel ID。
  • credentials-file:Tunnel 的凭证文件路径。
  • ingress:配置隧道的访问规则,包括主机名和对应的服务。

步骤 5:访问服务

一切配置完成后,通过 Cloudflare 访问你的服务,例如 https://example.com

小结

通过以上步骤,你已经成功在 Ubuntu 上通过 Docker 部署了 Cloudflared Tunnel 服务器。现在可以轻松实现安全的远程访问,保护你的应用程序了。别忘了定期检查和更新配置,确保安全性。

相关推荐
CryptoRzz16 分钟前
欧美(美股、加拿大股票、墨西哥股票)股票数据接口文档
java·服务器·开发语言·数据库·区块链
arvin_xiaoting25 分钟前
#zsh# #Ubuntu# 一键安装zsh、oh-my-zsh、常用插件
linux·ubuntu·elasticsearch
wanhengidc27 分钟前
巨椰云手机引领未来
运维·服务器·网络·游戏·智能手机
wanhengidc28 分钟前
云手机的真实体验感怎么样
运维·服务器·安全·游戏·智能手机
脏脏a34 分钟前
【Linux】Linux工具漫谈:yum 与 vim,高效操作的 “左膀右臂”
linux·运维·服务器
九河云1 小时前
TOS + 数字孪生:集装箱码头的智能进化密码
大数据·服务器·网络·数据库·数字化转型
代码or搬砖1 小时前
文件上传阿里云OSS以及本地图片服务器搭建
服务器·阿里云·云计算
Yyyy4821 小时前
容器化技术
docker
悟能不能悟1 小时前
dcpatchscan.exe这是什么
运维·服务器
kyle~1 小时前
计算机系统---CPU的进程与线程处理
linux·服务器·c语言·c++·操作系统·计算机系统