diff --git a/caddy/Caddyfile b/caddy/Caddyfile index f74c6f6..d9f6cd3 100644 --- a/caddy/Caddyfile +++ b/caddy/Caddyfile @@ -1,4 +1,4 @@ -{ +import repo.caddyfile { admin off debug log { @@ -6,77 +6,6 @@ } } -# 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 diff --git a/caddy/repo.caddyfile b/caddy/repo.caddyfile index 67fc6f1..20a23e1 100644 --- a/caddy/repo.caddyfile +++ b/caddy/repo.caddyfile @@ -27,8 +27,7 @@ request_body { max_size 100MB } - reverse_proxy / repo-web-ui:5000 { - transport uwsgi + reverse_proxy repo-web-ui:5000 { import repo_common_proxy } } @@ -38,8 +37,7 @@ request_body { max_size 100MB } - reverse_proxy / repo-web-api:5000 { - transport uwsgi + reverse_proxy repo-web-api:5000 { import repo_common_proxy } } @@ -50,8 +48,7 @@ max_size 250GB } encode gzip - reverse_proxy / repo-web-api:5000 { - transport uwsgi + reverse_proxy repo-web-api:5000 { import repo_common_proxy } }