人生就是由众多的细节组成的
正因为是个细节,所以常被人所淡忘

针对腾讯 EdgeOne + 哪吒探针 最稳健、最安全的 Caddy 配置

面板端

WebSocket 丝滑:删除了手动指定的 Upgrade 头,让 Caddy 自动与 EdgeOne 协商,彻底解决了“WebSocket 连接中”的卡顿。

登录无忧:显式指定了 Origin 和 Access-Control-Allow-Origin,绕过了 CDN 环境下最常见的 CSRF 登录拦截。

IP 精准:通过 nz-realip 配合你哪吒后台的设置,能准确记录每个访客的真实 IP。

Agent 端

gRPC 路径保护:通过 @grpcProto 精确匹配 Agent 通讯路径,确保受控端能正常上报数据。

黑洞防御:handle { abort } 像一堵墙,把所有尝试通过浏览器访问该域名的嗅探请求直接掐断,极大地保护了面板服务器的真实 IP 不被扫描器抓取。

# 面板域名(走 腾讯EO CDN)
nezha.maotao.net {
    encode gzip zstd

    # 反向代理配置
    reverse_proxy localhost:8008 {
        # 1. 核心:由 Caddy 自动处理 WebSocket 握手,不再手动指定 Upgrade/Connection

        # 2. 传递 Host 和 Origin
        header_up Host {host}
        # 显式指定 Origin,确保与浏览器访问的地址完全一致
        header_up Origin "https://nezha.maotao.net"

        # 3. 传递真实 IP
        # 推荐直接使用 X-Forwarded-For 的第一个值
        header_up nz-realip {header.X-Forwarded-For}

        # 如果哪吒后台“前端真实IP请求头”填的是 X-Forwarded-For,
        # 那么其实这里不需要 header_up nz-realip,Caddy 默认就会透传 X-Forwarded-For。
        # 增加跨域支持(针对某些版本的哪吒登录校验)
        header_down Access-Control-Allow-Origin "https://nezha.maotao.net"
    }
}

# ==========================================
# 2. Agent 域名(加入安全屏蔽)
# ==========================================
qqbb.za.net {

    # 定义 gRPC 路径匹配
    @grpcProto {
        path /proto.NezhaService/*
    }

    # 仅允许 gRPC 流量(Agent 通讯)
    handle @grpcProto {
        reverse_proxy localhost:8008 {
            header_up Host {host}
            header_up nz-realip {remote_host}
            transport http {
                versions h2c
                read_buffer 4096
            }
        }
    }

    # 其他所有请求(如浏览器直接打开该域名)全部拦截
    # 这样可以防止别人扫描发现你的 Agent 直连域名
    handle {
        abort
    }
}
赞(0) 打赏
未经允许不得转载:毛桃博客 » 针对腾讯 EdgeOne + 哪吒探针 最稳健、最安全的 Caddy 配置

评论 抢沙发

评论前必须登录!

 

实践是学习的最佳途径

支持快讯、专题、百度收录推送、人机验证、多级分类筛选器,适用于垂直站点、科技博客、个人站,扁平化设计、简洁白色、超多功能配置、会员中心、直达链接、文章图片弹窗、自动缩略图等...

了解更多看平潭

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册