Files
photography/Caddyfile
xujiang 00c97a3667 feat: 添加 Caddy 配置文件和部署文档
- 创建 Caddyfile 配置 photography.iriver.top 域名
- 配置静态文件服务指向 ~/www/photography/
- 添加性能优化:gzip 压缩、缓存控制
- 配置安全头和错误处理
- 添加详细的 Caddy 部署和配置文档

功能特性:
-  自动 HTTPS (Let's Encrypt)
-  静态资源缓存优化
-  Gzip 压缩
-  安全头配置
-  404 错误页面处理
-  访问日志记录

使用方法:
1. 复制 Caddyfile 到服务器 /etc/caddy/
2. 运行 sudo systemctl reload caddy
3. 访问 https://photography.iriver.top
2025-07-09 09:57:55 +08:00

60 lines
1.4 KiB
Caddyfile

# Photography Portfolio Caddyfile
# 将 https://photography.iriver.top 映射到用户目录
photography.iriver.top {
# 静态文件服务
root * ~/www/photography
# 启用文件服务器
file_server
# 启用 gzip 压缩
encode gzip
# 设置默认首页
try_files {path} {path}/ /index.html
# 设置静态资源缓存
@static {
path *.css *.js *.png *.jpg *.jpeg *.gif *.svg *.woff *.woff2 *.ttf *.eot *.ico
}
header @static Cache-Control "public, max-age=31536000, immutable"
# 设置 HTML 文件缓存
@html {
path *.html
}
header @html Cache-Control "public, max-age=3600"
# 安全头设置
header {
# 防止点击劫持
X-Frame-Options "SAMEORIGIN"
# 防止 MIME 类型嗅探
X-Content-Type-Options "nosniff"
# XSS 保护
X-XSS-Protection "1; mode=block"
# 推荐 HTTPS
Strict-Transport-Security "max-age=31536000; includeSubDomains"
# 隐藏服务器信息
-Server
}
# 日志配置
log {
output file /var/log/caddy/photography.log {
roll_size 10MB
roll_keep 5
}
format json
}
# 错误页面处理
handle_errors {
@404 {
expression {http.error.status_code} == 404
}
rewrite @404 /404.html
file_server
}
}