mirror of
https://github.com/Cian-H/iform-invenio.git
synced 2025-12-22 20:41:56 +00:00
112 lines
1.7 KiB
Caddyfile
112 lines
1.7 KiB
Caddyfile
{
|
|
admin off
|
|
debug
|
|
log {
|
|
level DEBUG
|
|
}
|
|
}
|
|
|
|
# Repo config
|
|
(repo_cors) {
|
|
header {
|
|
Access-Control-Allow-Origin *
|
|
Access-Control-Allow-Methods "GET, POST, PUT, PATCH, DELETE, OPTIONS"
|
|
Access-Control-Allow-Headers "*"
|
|
Access-Control-Allow-Credentials true
|
|
Strict-Transport-Security "max-age=15768000"
|
|
# Request ID tracing
|
|
+X-Request-ID {uuid}
|
|
}
|
|
}
|
|
|
|
(repo_common_proxy) {
|
|
# Set headers similar to uwsgi_param
|
|
header_up Host {host}
|
|
header_up X-Request-ID {uuid}
|
|
# Remove sensitive headers
|
|
header_down -X-Session-ID
|
|
header_down -X-User-ID
|
|
}
|
|
|
|
(repo_site) {
|
|
import repo_cors
|
|
|
|
# UI Server routes
|
|
handle / {
|
|
request_body {
|
|
max_size 100MB
|
|
}
|
|
reverse_proxy / repo-web-ui:5000 {
|
|
transport uwsgi
|
|
import repo_common_proxy
|
|
}
|
|
}
|
|
|
|
# API routes
|
|
handle /api/* {
|
|
request_body {
|
|
max_size 100MB
|
|
}
|
|
reverse_proxy / repo-web-api:5000 {
|
|
transport uwsgi
|
|
import repo_common_proxy
|
|
}
|
|
}
|
|
|
|
# Large file upload API routes
|
|
handle_path /api/records/*/draft/files/*/content {
|
|
request_body {
|
|
max_size 250GB
|
|
}
|
|
encode gzip
|
|
reverse_proxy / repo-web-api:5000 {
|
|
transport uwsgi
|
|
import repo_common_proxy
|
|
}
|
|
}
|
|
|
|
handle /static/* {
|
|
root * /opt/invenio/var/instance/static
|
|
file_server
|
|
}
|
|
|
|
handle /robots.txt {
|
|
root * /opt/invenio/var/instance/static
|
|
file_server
|
|
}
|
|
}
|
|
|
|
# Main site config
|
|
(site) {
|
|
@landing {
|
|
path / /contact* /about* /favicon.png
|
|
}
|
|
handle /_app/* {
|
|
reverse_proxy site:3000
|
|
}
|
|
handle @landing {
|
|
reverse_proxy site:3000 {
|
|
health_uri /health
|
|
health_interval 30s
|
|
health_timeout 10s
|
|
health_status 200
|
|
}
|
|
}
|
|
handle /repo* {
|
|
uri strip_prefix /repo
|
|
import repo_site
|
|
}
|
|
}
|
|
|
|
:80 {
|
|
import site
|
|
}
|
|
|
|
http://am-d-model.eu {
|
|
import site
|
|
}
|
|
|
|
am-d-model.eu {
|
|
import site
|
|
}
|