V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Caddy
nfroot
V2EX  ›  Caddy

一个简洁又强大的 Caddy,难用起来也会让人无语

  •  
  •   nfroot · 2019-05-08 16:42:52 +08:00 · 1323 次点击
    这是一个创建于 1786 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Caddy 真的很不错,个人用太方便了!还有各种插件拓展真是棒!下载页面勾选插件就能下载,真方便!国内没外网 IP,80 端口封了,没关系,一堆 DNS 插件,可以自动通过 dns 来验证!非常适合国情有木有!( 80 端口被封,或者干脆没有外网 IP,无法自动走 http 方式通过 SSL 证书的验证,流行 Windows 服务器)

    Caddy 1.0 发布了,下载页面一个插件都选不上了,选上就告诉你下载不了。



    你只能下载一个裸体的 Caddy,没有插件,没有拓展,没有衣服没有裤子,只有裸体的 Caddy,你想要 dns 插件自动过 ssl 验证,不行,插件加上去就不能下载了,除非自己下载源码编译,我尝试了一下在 Windows 平台下编译,蓝瘦香菇。。。。最后死在 golang 下载官方库的时候失败,设置了 socks 和 http proxy 也不行(我用“ v 兔 way ”科学上网)。。。。自己在墙外又没有 vps,唉,悲催啊,折腾一圈下来还是放弃了。。

    caddy 官方交流社区也是一堆询问这个问题的,英文不大懂,翻译过来好像意思是 caddy 改变了插件相关的东西,于是可能造成了某些插件的不兼容(插件看起来都是第三方作者开发的)。但是我尝试过很多插件的组合,最终楞是成功不了任何一个,估计只有裸体才能下载。观望了好几天,应该短期内是无法解决了……

    caddy 还是很香的,真的很简洁方便,我最看中的还是能够自动 dns 验证,有世界上大部分知名的 dns api 插件。。。Linux 系虽然有一大堆获取 let's encrypt 家 SSL 证书的工具,但是 Windows 平台的工具太贫乏了,已知的有 2 个,好像都能自动对接 IIS,走 http 验证(很显然不适合国内这种很常见的内网环境和非 80 端口服务),但是能自动对接 DNS 服务商 API 的,一个都没有,只看到 Caddy 有插件能对接上 DNS 服务商。。。。

    他家独特的配置方式,加上官方简洁有实例的文档,还是很容易懂的,还有最爱的 dns 插件,可惜啊竟然用不了。。。
    12 条回复    2019-05-09 09:44:45 +08:00
    wuyuanwei
        1
    wuyuanwei  
       2019-05-08 17:34:49 +08:00
    nfroot
        2
    nfroot  
    OP
       2019-05-08 17:48:20 +08:00
    @wuyuanwei 我要 Windows x86 的。。。如果是 linux 系还是有挺多选择的。
    wuyuanwei
        3
    wuyuanwei  
       2019-05-08 17:59:47 +08:00
    @nfroot 参考该项目的 builder 改改 GOOS=windows GOARCH=amd64,然后把镜像中的二进制文件拷贝出来?
    wuyuanwei
        4
    wuyuanwei  
       2019-05-08 18:00:55 +08:00
    * GOARCH=386
    nfroot
        5
    nfroot  
    OP
       2019-05-08 18:01:03 +08:00
    @wuyuanwei 说到编译,我在 Windows 平台算是吃尽了苦,官方库下不来,也没有墙外的 VPS。
    wuyuanwei
        6
    wuyuanwei  
       2019-05-08 18:02:25 +08:00
    @nfroot 让 Docker Hub 帮你构建。
    nfroot
        7
    nfroot  
    OP
       2019-05-08 18:34:05 +08:00 via Android
    @wuyuanwei 我晚些时候研究一下,谢谢!
    shengyu
        8
    shengyu  
       2019-05-08 18:35:40 +08:00 via iPhone
    今天想更新一下 发现失败了 等等吧
    1423
        9
    1423  
       2019-05-08 18:56:08 +08:00
    试了下可以下载,要等 3 分钟的样子
    boris1993
        10
    boris1993  
       2019-05-08 19:31:20 +08:00 via Android
    Caddy 只负责 Caddy 的开发,那些插件看似官方实际都是社区做的。Caddy 改用 go mod 管理依赖,但是插件社区没跟上,只能等。

    说实话我甚至怀疑那些插件还会不会继续跟上。

    准备回 nginx 了,烦归烦,但是不会一觉醒来啥都不能用了。

    还 production ready ? ready 个屁。
    Imr
        11
    Imr  
       2019-05-08 20:08:36 +08:00 via iPhone
    linux 下生成证书到共享目录给 windows 用?
    或者 git bash 执行 acme.sh 试试?
    nfroot
        12
    nfroot  
    OP
       2019-05-09 09:44:45 +08:00
    突然想起来 php 可以跨平台,上 github 一找还真的有 php 版的,找到个 github.com/skoerfgen/ACMECert 不知道能不能在 Windows 上用,如果可以的话自己加一下自动设置 dns 就搞定啦。
    还有个办法就是 11 楼说的 linux 下生成证书,windows 通过共享或者脚本同步过来使用了

    @1423 你选择了哪些插件?我只选 dnspod 或 cloudxns 都不行,看着有些插件还是想用的,尝试了很多组合都不行……

    @Imr 竟然有 git bash 这么神奇的东西存在!照着 acme.sh 的文档 dns 模式跑起来了但失败了, --debug 模式看了下,创建 dns 记录的时候出错了。。。但又没说为什么错。回到 dnspod 也看到 dns 记录没被创建。
    [2019 年 05 月 9 日 8:52:56] _post_url='https://dnsapi.cn/Record.Create'
    [2019 年 05 月 9 日 8:52:56] _CURL='curl -L --silent --dump-header /c/Users/Administrator/.acme.sh/http.header -g '
    [2019 年 05 月 9 日 8:52:57] _ret='0'
    [2019 年 05 月 9 日 8:52:57] Error add txt for domain:_acme-challenge.xxx.xxx
    [2019 年 05 月 9 日 8:52:57] _on_issue_err

    代码完成后检查了 account.conf,里面存的 id 和 key 都是对的。看起来我又失败了。

    我也想过 linux 生成证书给 windows 用,但是太麻烦,没条件做成共享,还得自己写代码去传证书,再多尝试一下下吧,谢啦。


    @boris1993 是啊,我是在编译的时候,要手工加插件,当时去找插件地址的时候就有种不妙的感觉。。。后来查来查去,一看官方“ Caddy 改用 go mod 管理依赖”,既然是散养的插件作者,那一时半会肯定是别想了,愁啊,只能接受现实了,闷!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2015 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 16:18 · PVG 00:18 · LAX 09:18 · JFK 12:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.