mirror of
https://github.com/Cian-H/iform-invenio.git
synced 2025-12-22 20:41:56 +00:00
66 lines
1.2 KiB
Caddyfile
66 lines
1.2 KiB
Caddyfile
(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 {
|
|
import repo_common_proxy
|
|
}
|
|
}
|
|
|
|
# API routes
|
|
handle /api/* {
|
|
request_body {
|
|
max_size 100MB
|
|
}
|
|
reverse_proxy repo-web-api:5000 {
|
|
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 {
|
|
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
|
|
}
|
|
}
|