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
This commit is contained in:
60
Caddyfile
Normal file
60
Caddyfile
Normal file
@ -0,0 +1,60 @@
|
||||
# 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
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user