diff --git a/nginx/sites-available/cloud.grupopralog.com.br.conf b/nginx/sites-available/cloud.grupopralog.com.br.conf index c4835db..2c68a10 100644 --- a/nginx/sites-available/cloud.grupopralog.com.br.conf +++ b/nginx/sites-available/cloud.grupopralog.com.br.conf @@ -214,6 +214,32 @@ server { add_header X-Proxy-Cache $upstream_cache_status; } + location = /ocs/v2.php/apps/recommendations/api/v1/recommendations { + # --- Cache de Sessão Específico --- + # A chave DEVE incluir a sessão para ser única por usuário. + proxy_cache_key "$scheme$request_method$host$request_uri$is_args$args$cookie_nc_session_id"; + proxy_cache nextcloud_session_cache; # Reutiliza a mesma zona de cache de sessão + + # Tempo de cache específico para esta rota: 1 dia + proxy_cache_valid 200 1d; + proxy_cache_revalidate on; + proxy_cache_use_stale error timeout http_500 http_502 http_503 http_504; + + # Header de depuração para facilitar o teste + add_header X-API-Rec-Cache $upstream_cache_status; + + # --- Configurações de Proxy Padrão (necessárias para a comunicação) --- + proxy_pass http://nextcloud_backend; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header Connection ""; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Requested-With $http_x_requested_with; + proxy_http_version 1.1; + proxy_buffering on; # Respostas de API são pequenas, buffering é eficiente aqui. + } + # --- Micro-caching para a API de listagem de pastas (Group Folders) --- # Aplica um cache de apenas 3 segundos para a API que monta a árvore de diretórios. # Isso protege o backend contra múltiplas requisições simultâneas para a mesma pasta,