书写技术成长之路

使用caddy取代nginx

Caddy由于自动启用HTTPS,不需要安装其他依赖,简洁的yaml配置受到欢迎,可以很容易就搭建起来服务。

也可以安装很多插件,比如 jwt, geoip, ratelimit等web开发常用的插件。

下载caddy很简单,只需要执行 CADDY_TELEMETRY=on curl https://getcaddy.com | bash -s personal就可以成功安装caddy开始使用了。

安装完成后,需要新建Caddyfile文件,文件内容可参考下面的配置,修改保存后执行caddy命令即可。

执行效果如下

ilzLeUC2AL.png

下面是一些基本的配置仅供参考

# https://caddyserver.com/tutorial
# you only need to change the hostname
caddy.example.com {
    root /www/webroot
    gzip
    proxy / localhost:8088 {
        header_upstream Host {host}
        header_upstream X-Real-IP {remote}
        header_upstream X-Forwarded-For {remote}
        header_upstream X-Forwarded-Port {server_port}
        header_upstream X-Forwarded-Proto {scheme}
    }
    header /images {
        Cache-Control "public, max-age=31536000"
    }

    header (.css|.js)$ {
        Cache-Control "public, max-age=31536000"
    }

    log /var/log/caddy_access.log
    errors /var/log/caddy_error.log
}

GitHub上也有很多示例可供参考 https://github.com/caddyserver/examples

注意不能占用80和443端口,这是caddy启动服务要使用的端口,应该使用反向代理。

参考

https://caddyserver.com/docs