heimdall是一款开源的导航程序,即使在使用redis缓存下,感觉整个框架还是非常的臃肿,再两条数据的情况下,程序响应都不是很理想,
caddy+php+postgresql安装不再详细介绍了,可以自行参考文档,下面是caddy下heimdall的伪静态规则
# demo 主站
############################################################
https://www.demo.com {
import security
tls /etc/nginx/ssl/demo.pem /etc/nginx/ssl/demo.key
root * /opt/www/demo/Heimdall/public
php_fastcgi unix//var/run/php/php8.4-fpm.sock
# 禁止 well-known
@wellknown {
path /.well-known/*
}
respond @wellknown 403
file_server
########################################################
# Heimdall / Laravel 保护
########################################################
@laravel_sensitive {
path /artisan
path /server.php
path /webpack.mix.js
path /vite.config.js
path /app/*
path /bootstrap/*
path /config/*
path /database/*
path /resources/*
path /routes/*
path /storage/*.key
}
respond @laravel_sensitive 403
}
############################################################
# demo 强制 www
############################################################
https://demo.com {
redir https://www.demo.com{uri} 301
}
############################################################
heimdall的配置文件,网站根目录下的.env文件
########################################################
# 基本配置
########################################################
APP_NAME=Heimdall
APP_ENV=production
APP_KEY=base64:ddddddddddd
APP_DEBUG=false
APP_URL=https://www.demo.com
APP_LOCALE=en
APP_FALLBACK_LOCALE=en
APP_FAKER_LOCALE=en_US
APP_MAINTENANCE_DRIVER=file
APP_MAINTENANCE_STORE=database
BCRYPT_ROUNDS=12
LOG_CHANNEL=daily
LOG_STACK=single
########################################################
# PostgreSQL 数据库
########################################################
DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=数据库名
DB_USERNAME=数据库用户
DB_PASSWORD=数据库密码
########################################################
# Redis 缓存 + Session
########################################################
CACHE_STORE=redis
SESSION_DRIVER=redis
SESSION_LIFETIME=120
SESSION_ENCRYPT=false
SESSION_PATH=/
SESSION_DOMAIN=null
QUEUE_CONNECTION=redis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
########################################################
# 安全(防 SSRF)
########################################################
ALLOW_INTERNAL_REQUESTS=false
########################################################
# 关闭未使用功能
########################################################
BROADCAST_CONNECTION=log
MAIL_MAILER=log
MAIL_HOST=
MAIL_PORT=
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=
MAIL_FROM_ADDRESS=
MAIL_FROM_NAME="${APP_NAME}"
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=
AWS_BUCKET=
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=
MIX_PUSHER_APP_KEY=
MIX_PUSHER_APP_CLUSTER=
########################################################
# 角色控制
########################################################
AUTH_ROLES_ENABLE=false
AUTH_ROLES_HEADER="remote-groups"
AUTH_ROLES_HTTP_HEADER="HTTP_REMOTE_GROUPS"
AUTH_ROLES_ADMIN="admin"
AUTH_ROLES_DELIMITER=","
更多安装文档建议参考官方heimdall文档,因为随时可能更新, https://github.com/linuxserver/Heimdall