caddy2笔记

注意

1. 在没有公网ip的机器A上启用自动https一定要注意A机器上的dns不要用网关地址或路由器地址,一定要用公共DNS服务器地址,因为家用宽带封了常用的服务端口,其中包括了dns服务的端口53。启动会报类似如下错误
CNAME dns query: dial tcp 192.168.1.1:53: connect: connection refused
2.泛域名或https非443端口要用到相应的插件,域名解析到非公网ip也要相应的插件

编译插件

bash 复制代码
package main

import (
	caddycmd "github.com/caddyserver/caddy/v2/cmd"

	// plug in Caddy modules here
	_ "github.com/caddy-dns/cloudflare"
	_ "github.com/caddyserver/caddy/v2/modules/standard"
)

func main() {
	caddycmd.Main()
}

在windows下编译linux的执行文件

bash 复制代码
go env -w GOOS=linux
go env -w GOARCH=amd64
go build -ldflags "-w -s" -o caddy-cf .

配置示例

1. 泛域名配置并自动https

bash 复制代码
cat > Caddyfile <<'EOF'
{
        log {
                output file /root/caddy/caddy5/caddy.log
                level INFO
                format console {
                        time_local
                        time_format wall_milli
                }
        }
}

*.zjc001.top {
        tls {
                dns cloudflare gqRkHttI-ZAa8jEb09CsKyf_fPGrae1f13g8GHMk
        }

        @chat host chat.zjc001.top
        handle @chat {
                respond "Hello, world! [chat]"
        }

        @vault host vault.zjc001.top
        handle @vault {
                respond "Hello, world! [vault]"
        }

        handle {
                abort
        }
}
EOF

cloudflare令牌的创建参考:https://pages.uing.vip/post/caddy2/

启动并测试

bash 复制代码
caddy-cf run

浏览器访问chat.zjc001.top和vault.zjc001.top将分别显示
Hello, world! [chat]
Hello, world! [vault]

且都自动转成了https

2. 非公网ip配置并自动https

bash 复制代码
cat > Caddyfile <<'EOF'
eone.ehall.top {
        tls {
                dns cloudflare c_A6L9KqCIuuBPXRG1zsg03ZELl6FmQVuARwh3Mv
        }
        encode gzip
        respond "Hello, World!"
}
EOF
相关推荐
Rabitebla8 小时前
【Linux 底层原理】进程(十):进程等待详解---从僵尸进程到 wait、waitpid 与 status
linux·c++·笔记·学习·visual studio
小lu飞9 小时前
2026小红书小工具怎么制作:纯前端 ZIP 打包、沙箱限制与笔记挂载流程
前端·笔记·ai·ai编程
无心水12 小时前
24、系统架构师论文写作专题 核心考点与学习笔记
笔记·学习·系统架构·架构师·安全架构·软考架构师·软考系统架构设计师
蒸蒸yyyyzwd13 小时前
邓明 Agent 系统面试-意图识别学习笔记
笔记·学习
Zhao-Jichao16 小时前
AI Prompting for Everyone 课程笔记 - P21 总结 Conclusion
人工智能·笔记
欢欢李16 小时前
【LTE L3 笔记 05】LTE同步信号
笔记·无线通信·物理层·lte·空口协议
La Pulga18 小时前
【FreeRTOS源码学习笔记】空闲任务与阻塞延时
笔记·mcu·学习·嵌入式·freertos·实时操作系统
蒸蒸yyyyzwd18 小时前
秋招学习笔记 day106
笔记·学习
小李不想当小白19 小时前
WDG看门狗(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
欢欢李19 小时前
【LTE L3 笔记 04】LTE帧结构
笔记·无线通信·物理层·lte·空口协议