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

翻譯: