Caddy2学习笔记——Caddy2反向代理docker版本的DERP中继服务器
创始人
2024-05-30 21:14:16
0

一、个人环境概述

  1. 本人拥有一个国内云服务商的云主机和一个备案好的域名,通过caddy2来作为web服务器。我的云主机系统是Ubuntu。

  2. 我的云主机是公网ip,地址为:43.126.100.78;我备案好的域名是:hotgirl.com。后面的文章都以上述的ip和域名来进行讲解。

  3. 域名 hotgirl.com 已经通过云服务商的域名解析功能,解析到43.126.100.78。

  4. 我在云主机上安装了一个docker版本的headscale。通过caddy反向代理后的地址是:https://head.hotgirl.com。具体参看教程:Caddy2反向代理docker版本的headscale 。

二、部署docker环境

具体参看教程:Caddy2反向代理docker版本的headscale 的第二部分内容。

三、指定DERP中继服务器的域名

  1. 已知
    我的云主机是公网ip,地址为:43.126.100.78;我备案好的域名是:hotgirl.com 。我在云主机上安装了一个docker版本的headscale。通过caddy反向代理后的地址是:https://head.hotgirl.com
  2. 解析
    添加一个A记录,把 “https://derper.hotgirl.com” 解析到云主机的公网ip43.126.100.78。 “https://derper.hotgirl.com” 这个地址作为中继服务器的服务地址。

四、开放云服务器端口

  1. 指定DERP端口
    DERP中继服务器需要一个tcp端口,这个端口可以自定义,我这里就定为:15489。然后,需要在你的云服务器的防火墙,放行 15489 这个端口。
firewall-cmd --add-port=15489/tcp --permanent#重启防火墙
firewall-cmd --reload
  1. 配置安全组规则
    在云主机的“配置安全组规则” 中,手动添加上 15489 端口:
    在这里插入图片描述

五、docker版本的DERP中继服务器安装

  1. 创建目录
#创建DERP中级服务器根目录
mkdir -p /docker/derp
  1. 创建docker-compose.yaml文件
    首先 cd /docker/derp 进入derp这个目录,创建docker-compose.yaml文件,并加入以下代码:
version: "3"
services:derper:container_name: derperimage: fredliang/derperrestart: alwaysports:- 3478:3478/udp- 15489:15489environment:DERP_DOMAIN: derper.hotgirl.comDERP_ADDR: ":15489"
  1. 创建容器
    cd到“/docker/derp”这个目录下,执行“docker-compose up -d” 命令。
cd /docker/derpdocker-compose up -d

六、Caddy2反向代理DERP中继服务器

根据我前面的文章 Caddy2的安装、部署和编译小白教程 这篇文章中讲解的,修改Caddyfile这个文件:

vim /etc/caddy/Caddyfile

然后添加下面代码:

#Headscale
#中继服务器
derper.hotgirl.com {tls {get_certificate tailscale}reverse_proxy  http://172.17.0.1:15489{}
}

然后重启下caddy

systemctl reload caddy

如果 https://derper.hotgirl.com 打开后显示如下图,则说明中继服务器部署成功!
在这里插入图片描述

七、将中继服务器加入到headscale中

  1. 创建derp.yaml文件
# /etc/headscale/derp.yaml
regions:902:regionid: 902regioncode: schregionname: Home Sichuan nodes:- name: 902aregionid: 902hostname: 'derper.hotgirl.com'ipv4: ''stunport: 3478stunonly: falsederpport: 443

上面的derp.yaml文件中,902 、902a 根据需要改成自己的regionid,总共四个地方,要改统一改掉。hostname就填写第六步中反代的中继服务器地址。

  1. 移动derp.yaml
    上一步骤的derp.yaml文件创建好后,放入到headscale的config文件夹,和config.yaml同级。如果你参照我的这篇 Caddy2反向代理docker版本的headscale 文章,就知道config.yaml和derp.yaml 都在 /docker/headscale/config 这个目录内。
  2. 修改headscale的配置文件
    进入headscale的配置文件目录( /docker/headscale/config ),打开config.yaml,修改如下:
# DERP is a relay system that Tailscale uses when a direct
# connection cannot be established.
# https://tailscale.com/blog/how-tailscale-works/#encrypted-tcp-relays-derp
#
# headscale needs a list of DERP servers that can be presented
# to the clients.
derp:# List of externally available DERP maps encoded in JSONurls:- https://controlplane.tailscale.com/derpmap/default# Locally available DERP map files encoded in YAML## This option is mostly interesting for people hosting# their own DERP servers:# https://tailscale.com/kb/1118/custom-derp-servers/#paths:- /etc/headscale/derp.yaml#paths: []# If enabled, a worker will be set up to periodically# refresh the given sources and update the derpmap# will be set up.auto_update_enabled: true# How often should we check for DERP updates?update_frequency: 24h

上面的代码路径 /etc/headscale/derp.yaml ,是容器内的路径,根据我的这篇 Caddy2反向代理docker版本的headscale 文章,回顾下headscale的docker-compose.yaml文件

version: '3.1'
services:headscale:image: headscale/headscalecontainer_name: headscalevolumes:- /docker/headscale/config:/etc/headscale- /docker/headscale/data:/var/lib/headscale- /docker/headscale/run:/var/run/headscaleports:- '0.0.0.0:8181:8181'- '0.0.0.0:9191:9191'command: headscale serverestart: unless-stopped

可以看出来,容器内路径“/etc/headscale” 是映射到了服务器路径 “/docker/headscale/config” ,所以我们只需把derp.yaml放入“/docker/headscale/config” 路径内,并文件名对应即可。

相关内容

热门资讯

巴基斯坦总理与巴各政党领导人通... 【环球网快讯】印巴局势升级引发广泛关注。据巴基斯坦《黎明报》10日援引巴基斯坦国家电视台PTV最新消...
这一天!邯郸市中心医院…… 转自:邯郸新闻网邯郸道 天使情——邯郸市中心医院的特色护士节活动编者按:在国际护士节来临之际,邯郸市...
泰国4月份通胀率现负增长 转自:中国新闻网  中新社曼谷5月10日电 据泰国《民族报》10日报道,泰国4月份通货膨胀率为-0....
5月12日现场对接!辽宁省工信... 原标题:需求清单,向全球发布!  需求是市场,是合作的开始。近日,省工业信息化厅围绕重点产业链条、工...
特朗普高兴早了!首位美籍罗马教... 当地时间5月8日,枢机主教罗伯特·普雷沃斯特当选第267任天主教罗马教皇,称为利奥十四世,成为首位美...
马光远谈中国文化IP:中国每一...   2025世界IP经济发展大会暨全球IP授权博览会将于5月10日-5月12日在广州举行。著名经济学...
媒体评:学术近亲繁殖伤害教育公... 【媒体评:#学术近亲繁殖伤害教育公平#】近日,因发表14篇SCI论文,并获得3项国家发明专利,重庆大...
熟练到脑子跟不上嘴!护理专业男... 【熟练到脑子跟不上嘴!#护理专业男生丝滑操作婴儿急救#[666]】5月9日,四川一护理专业男同学,在...
深化改革开放再发力 国务院部署... 深化对外开放,国务院又有新部署。5月9日,国务院常务会议听取推动自贸试验区建设提质增效工作汇报,并研...
46岁章子怡,突传喜讯! 今天,章子怡工作室发文官宣好消息:《卧虎藏龙》25周年之际,章子怡在GoldGala出席奥斯卡博物馆...
面板双虎4月营收持平,Q2电视... 来源:Wit Display面板双虎友达光电今天公布4月合并营收新台币231.4亿元新台币,较3月减...
16楼“飞”出电竞椅!原因查明... 据四川成都市公安局高新技术产业开发区分局消息近日成都高新区某小区发生了一起高空抛物事件一男子情绪失控...
富采Q1亏1亿! 来源:Wit DisplayLED大厂富采5月9日举行法说会,公布2025年第1季财报。尽管单季仍呈...
小市值、反转因子表现较好   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! 因子IC跟踪    ...
全球专家共话科技与产业融合的脑... 5月10日,“2025浦江创新论坛”第七届神经科技国际创新论坛暨中国神经科学学会神经调控基础与转化分...
璀璨夺目!这场焰火展演点亮南昌... 转自:南昌发布5月9日晚,随着暮色降临,“星焰焕新·城启璀璨”——中国南昌烟花爆竹产业博览会城市焰火...
5月楼市开局冷热分化 公积金利... (转自:地产红榜)  5月1日国家新版《住宅项目规范》正式实施。从“五一”假期楼市表现来看,分化明显...
清华大学夏清:新型电力系统的构...   5月10日消息,远东控股集团40周年庆暨企业家论坛今天在宜兴举行。清华大学电机系教授、国家能源互...
十二载从无到有 海军舰载航空兵... 今天(5月10日)是人民海军首支舰载航空兵部队成立12周年的日子。12年前,舰载航空兵部队在渤海湾畔...
今天,该如何看尖岗山? 来源:苗头有朋友打来电话,说完全同意我的意见,全款买了一套万科未来之光80平方米的房子。有时候,你不...