example.com {
root ./public
fastcgi / 127.0.0.1:9000 php
rewrite {
to {path} {path}/ /index.php?{query}
}
}
可能是只打开了80端口,因为caddy自动配置https证书,需要打开443端口。
用forbidden配置禁止访问目录。
localhost {
root * /var/www/html
encode zstd gzip
@forbidden {
not path /wp-includes/ms-files.php
path /wp-admin/includes/*.php
path /wp-includes/*.php
path /wp-config.php
path /wp-content/uploads/*.php
path /.user.ini
path /wp-content/debug.log
}
respond @forbidden "Access denied" 403
php_fastcgi wp-fpm:9000
file_server
}
caddy和php容器不同时需要分别设置root路径,参考以下caddyfile文件。
mysite.com {
// 这是caddy容器下的laravel目录
root * /srv/mysite.com/public
encode zstd gzip
file_server
try_files {path} /index.php?{query}
php_fastcgi * php_docker:9000 {
// 这是php容器下的laravel目录
root /var/www/html/mysite.com/public
}
log {
output file /data/caddy.log
}
}