Caddy (Linux) CloudFlare 凭据丢失

Caddy (Linux) CloudFlare Credentials Missing

我最近刚开始在 100tb.com 上设置自己的 Ubuntu v16 服务器。我正在使用 Caddy 为我的网页提供服务,并为我的网站提供 https 的 SSL 证书。我已经安装了 Cloudflare 版本的 Caddy,并根据 this article 配置了所有内容。我有一个朋友指导我设置了 Cloudflare,所以我确定它的配置也正确。

我在重启 Caddy 时遇到的错误是: caddy[14965]: Activating privacy features...2018/01/17 17:10:18 CloudFlare credentials missing

然后Caddy进入失败状态,我的网站就不会出现了。我试过很多东西。我手动将 CLOUFLARE_EMAILCLOUDFLARE_API_KEY 放入我的 environment 文件中。我同时使用 envexport 将凭据添加到我的路径变量中。当我 运行 echo $path 它们出现在我的路径中(也许我把它们放错了?)。当我 运行 echo $CLOUDFLARE_EMAIL 时,它会像 myemail@example.com 一样将其打印到命令行,对于 echo $CLOUDFLARE_API_KEY.

也是如此

我查看了 Caddy 的文档和其他人的问题,但 none 找到了答案。我不确定为什么我一直收到这个错误,我觉得我已经正确地完成了所有事情。提前感谢您的任何 help/insights。

这是我的 CaddyFile:

www.example.com {
    root /var/www
    gzip
    log /var/www/access.log
    errors /var/www/errors.log
    tls {
        dns cloudflare
    }
}

我通过编辑 /etc/systemd/system/caddy.service 下的 caddy.service 文件来解决这个问题,在已经存在的 Environment=CADDYPATH=xxxxx 下面添加 Environment=CLOUDFLARE_API_KEY=xxxxxEnvironment=CLOUDFLARE_EMAIL=xxxxx 并做了 sudo systemctl daemon-reload 后跟 sudo systemctl restart caddy。 运行 sudo systemctl status caddy.service 显示 caddy 是 运行 并成功获得了 ssl 证书,使我的网站成为 https.

Source

你不需要编辑任何东西,只需要在执行 caddy 服务之前设置你的环境变量。

export CLOUDFLARE_EMAIL="YOUR_EMAIL_ON_CLOUDFLARE"
export CLOUDFLARE_API_KEY="YOUR_API_KEY_ON_CLOUDFLARE"

检查是否保存正确

echo $CLOUDFLARE_EMAIL
echo $CLOUDFLARE_API_KEY

然后,在同一个终端运行

sudo CLOUDFLARE_EMAIL=$CLOUDFLARE_EMAIL CLOUDFLARE_API_KEY=$CLOUDFLARE_API_KEY /usr/local/bin/caddy --agree

等待几秒钟以完成挑战,您应该会看到如下输出:

Activating privacy features... done.
https://example.com
http://example.com

这个回复给了我一个提示。 https://caddy.community/t/caddy-and-cloudflare-authentication/3080/4