[Auto-Sync] Atualização das configurações em srvproxy001.itguys.com.br - 2025-11-11 00:07:44

This commit is contained in:
srvproxy001.itguys.com.br 2025-11-11 00:07:44 -03:00
parent c34e41a93f
commit d14b7ae019
1 changed files with 17 additions and 25 deletions

View File

@ -462,27 +462,31 @@ server {
more_set_headers 'Access-Control-Allow-Credentials: true'; more_set_headers 'Access-Control-Allow-Credentials: true';
} }
# --- Rota de WebDAV (PROPFIND com Cache) --- # --- Rota de WebDAV e Uploads de Formulários ---
# Bloco específico para requisições PROPFIND (listagem de arquivos), que são cacheadas. # Trata as requisições WebDAV (sincronização de clientes desktop/mobile) e uploads de arquivos do app Forms.
# O buffering precisa estar LIGADO para o cache funcionar. location ~ ^/(remote\.php/(webdav|dav)|ocs/v[12]\.php/apps/forms/api/.*/submissions/files/.*) {
location ~ ^/remote\.php/(webdav|dav)$ {
if ($request_method != PROPFIND) {
# Se não for PROPFIND, passa para o próximo bloco location que trata de uploads/downloads.
break;
}
proxy_pass http://nextcloud_backend; proxy_pass http://nextcloud_backend;
proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Host $host; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Host $host;
proxy_http_version 1.1; proxy_http_version 1.1;
proxy_set_header Connection ""; proxy_set_header Connection "";
# O buffering deve estar LIGADO para permitir o cache de PROPFIND.
# Para outros métodos (PUT/GET), o Nginx gerenciará os buffers de forma eficiente.
proxy_buffering on; proxy_buffering on;
proxy_request_buffering on; proxy_request_buffering off; # Mantém 'off' para streaming de uploads.
# NOTA: O cache de PROPFIND foi desativado no plano de ação para diagnosticar problemas de lock. # --- Lógica de Cache para PROPFIND ---
# Manter comentado até a resolução. # A diretiva proxy_cache_methods não aceita PROPFIND.
# A solução é desativar o cache para todos os métodos, EXCETO PROPFIND.
set $no_cache 0;
if ($request_method != PROPFIND) {
set $no_cache 1;
}
proxy_cache_bypass $no_cache;
proxy_no_cache $no_cache;
# NOTA: O cache de PROPFIND está desativado conforme o plano de ação.
# proxy_cache nc_api_cache; # proxy_cache nc_api_cache;
proxy_cache_methods PROPFIND;
proxy_cache_key "$host$request_uri|$cookie_nc_session_id"; proxy_cache_key "$host$request_uri|$cookie_nc_session_id";
proxy_cache_valid 200 207 10s; # 207 é o status de sucesso para Multi-Status (PROPFIND) proxy_cache_valid 200 207 10s; # 207 é o status de sucesso para Multi-Status (PROPFIND)
proxy_cache_lock on; proxy_cache_lock on;
@ -490,18 +494,6 @@ server {
more_set_headers 'X-DAV-Cache: $upstream_cache_status'; more_set_headers 'X-DAV-Cache: $upstream_cache_status';
proxy_hide_header "Cache-Control"; proxy_hide_header "Expires"; proxy_hide_header "Pragma"; proxy_hide_header "Cache-Control"; proxy_hide_header "Expires"; proxy_hide_header "Pragma";
add_header Cache-Control "public, max-age=10"; add_header Cache-Control "public, max-age=10";
}
# --- Rota de WebDAV (Upload/Download) e Forms ---
# Trata uploads/downloads (PUT/GET) e outras requisições WebDAV.
# O buffering é DESLIGADO para permitir streaming de arquivos grandes sem consumir memória.
location ~ ^/(remote\.php/(webdav|dav)|ocs/v[12]\.php/apps/forms/api/.*/submissions/files/.*) {
proxy_pass http://nextcloud_backend;
proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Host $host;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_buffering off;
proxy_request_buffering off;
proxy_connect_timeout 60s; proxy_read_timeout 1200s; proxy_send_timeout 1200s; proxy_connect_timeout 60s; proxy_read_timeout 1200s; proxy_send_timeout 1200s;
} }