Caddy2 Vue history 模式配置

Caddy服务器是一个开源的,使用Golang编写,支持HTTP/2的Web服务端。它使用Golang标准库提供HTTP功能。

相比Nginx一个显著的特性是默认启用HTTPS,它是第一个无需额外配置即可提供HTTPS特性的Web服务器,懒人福音,还可通过API控制,插件也丰富,部署维护简单,要了解其它功能特性前往官网 https://caddyserver.com/

现在大部分人使用Nginx服务,配合vue + 后端API服务,即可完成一个站点,切换成Caddy2的话,怎么编写Caddyfile是问题,网上相关资料并不多,我周末读了下官方文档,勉为其难记录下,方便后来人

本站架构为 Vue + FastAPI + Caddy2, Caddyfile配置如下:

mephisto.cc, www.mephisto.cc # 域名

encode gzip zstd             # 压缩
handle /api/* {
    reverse_proxy /api/* 127.0.0.1:8000 # 后端api服务地址
}

handle {
    root * /data/mephisto.cc/dist       # 网站根目录
    root /static/* /data/mephisto.cc    # 额外静态目录,我有一个static目录用来存放markdown文件,匹配url中/static/*, 没有的话删除这一行
    try_files {path} /index.html    # vue history模式设置,也可参考caddy2官方文档common caddyfile的示例  
    file_server             # 开启静态文件服务
}

log {
    output file /var/log/caddy/caddy.log # 日志
} 

该配置目前工作良好,如果你还有不解的地方,个人建议抽时间阅读官方文档,搜索到的信息是一颗树,系统阅读文档才是森林,理解后才能为我所用

最后修改于: Monday, August 28, 2023
欢迎关注微信公众号,留言交流。

翻译: