Canddy 服务器介绍

Canddy 是 Golang 开发的 Web Server 和我们熟知的 Nginx、Apache 等具有很多相似的功能,和其他的 Web 服务器相比具有以下特征:

  • 易用性高,配置简单
  • 支持代理转发流量、负载均衡
  • 自动支持 https 不需要额外配置,证书使用的是(Let’s Encrypt)
  • 自动转换 md 文件内容转 html

官方网站 →

安装

以下命令适合 Debain 和 Ubuntu 系统

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf '[https://dl.cloudsmith.io/public/caddy/stable/gpg.key](https://dl.cloudsmith.io/public/caddy/stable/gpg.key)' | sudo tee /etc/apt/trusted.gpg.d/caddy-stable.asc
curl -1sLf '[https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt](https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt)' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy

CaddyFile 相关配置

Caddyfile 没有文件后缀属于 Caddy 服务器的配置文件和 Nginx 的.conf 类似,常用配置参见以下配置文件信息。

HTTPS 配置

使用以下命令来配置验证域名的使用权及解析记录,example.com 替换需要设置的域名。

$ curl "https://cloudflare-dns.com/dns-query?name=example.com&type=A" \
  -H "accept: application/dns-json"**

静态页面服务器配置

ma.ttias.be {
    root * /var/www/html #网页内容地址
    file_server

    handle_errors {
        @404 {
            expression {http.error.status_code} == 404
        }
        rewrite @404 /404.html
        file_server
    }
}

404 错误页面配置

ma.ttias.be {
 ....

    handle_errors {
        @404 {
            expression {http.error.status_code} == 404
        }
        rewrite @404 /404.html
        file_server
    }
....
}

多域名配置

domain.com, *.domain.com {
		......
}

代理转发

 heyuanfei.com {
     ....
     reverse_proxy  127.0.0.1:9000
     ...
 }

总结

Caddy WebServer 配置起来确实比较人性化,没有 Nginx、Apache 配置那么繁琐,这次也是初次尝试后的经验总结,这篇记录下来,希望能对大家有所帮助。