mirror of
https://github.com/Cian-H/am-d-model.eu.git
synced 2025-12-22 13:41:56 +00:00
Combined landing with repo and serving repo directly via caddy
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
import repo.caddyfile
|
||||
|
||||
{
|
||||
admin off
|
||||
}
|
||||
@@ -19,12 +21,7 @@
|
||||
}
|
||||
handle /repo* {
|
||||
uri strip_prefix /repo
|
||||
reverse_proxy am-d-model-data-repository-frontend:80 {
|
||||
header_up X-Forwarded-Proto https
|
||||
header_up X-Forwarded-For {remote}
|
||||
header_up X-Real-IP {remote}
|
||||
header_up Host {host}
|
||||
}
|
||||
import repo_site
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
66
caddy/repo.caddyfile
Normal file
66
caddy/repo.caddyfile
Normal file
@@ -0,0 +1,66 @@
|
||||
(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) {
|
||||
# Equivalent to proxy_request_buffering off
|
||||
request_body_read_buffer_size 100mb
|
||||
# Set headers similar to uwsgi_param
|
||||
header_up Host {host}
|
||||
header_up X-Forwarded-For {remote_host}
|
||||
header_up X-Forwarded-Proto {scheme}
|
||||
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 / {
|
||||
reverse_proxy repo-web-ui:5000 {
|
||||
import repo_common_proxy
|
||||
# Default max upload size 100MB
|
||||
request_body_max_size 100mb
|
||||
}
|
||||
}
|
||||
|
||||
# API routes
|
||||
handle /api/* {
|
||||
reverse_proxy repo-web-api:5000 {
|
||||
import repo_common_proxy
|
||||
# Default max upload size 100MB
|
||||
request_body_max_size 100mb
|
||||
}
|
||||
}
|
||||
|
||||
# Large file upload API routes
|
||||
handle_path /api/records/*/draft/files/*/content {
|
||||
reverse_proxy repo-web-api:5000 {
|
||||
import repo_common_proxy
|
||||
# Max upload size 50GB
|
||||
request_body_max_size 50gb
|
||||
encode gzip
|
||||
}
|
||||
}
|
||||
|
||||
handle /static/* {
|
||||
root * /opt/invenio/var/instance/static
|
||||
file_server
|
||||
}
|
||||
|
||||
handle /robots.txt {
|
||||
root * /opt/invenio/var/instance/static
|
||||
file_server
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user