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.topvault.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
相关推荐
2303_Alpha2 小时前
深度学习入门:深度学习(完结)
人工智能·笔记·python·深度学习·神经网络·机器学习
姝孟2 小时前
学习笔记(C++篇)—— Day 6
笔记·学习
霸王蟹3 小时前
React Fiber 架构深度解析:时间切片与性能优化的核心引擎
前端·笔记·react.js·性能优化·架构·前端框架
~巴哥~3 小时前
mcp学习笔记
笔记·学习
lqjun08275 小时前
Pytorch实现常用代码笔记
人工智能·pytorch·笔记
云海听雷6 小时前
C语言中字符串函数的详细讲解
c语言·笔记·学习
wb1896 小时前
Linux远程连接服务
linux·运维·服务器·笔记
烧火大爷6 小时前
现代计算机图形学Games101入门笔记(三)
笔记
人类恶.6 小时前
C 语言学习笔记(数组)
c语言·笔记·学习
夏季疯6 小时前
学习笔记:黑马程序员JavaWeb开发教程(2025.4.7)
java·笔记·学习