From a93623944444d58b1fdd485449f4b00891cabeed Mon Sep 17 00:00:00 2001 From: "srvproxy001.itguys.com.br" Date: Thu, 18 Sep 2025 20:23:04 -0300 Subject: [PATCH] =?UTF-8?q?[Auto-Sync]=20Atualiza=C3=A7=C3=A3o=20das=20con?= =?UTF-8?q?figura=C3=A7=C3=B5es=20em=20srvproxy001.itguys.com.br=20-=20202?= =?UTF-8?q?5-09-18=2020:23:04?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cloud.grupopralog.com.br.conf | 78 +++++++++---------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/nginx/sites-available/cloud.grupopralog.com.br.conf b/nginx/sites-available/cloud.grupopralog.com.br.conf index d6e80e9..aaa08b7 100644 --- a/nginx/sites-available/cloud.grupopralog.com.br.conf +++ b/nginx/sites-available/cloud.grupopralog.com.br.conf @@ -1,7 +1,7 @@ # Ficheiro: /etc/nginx/sites-available/cloud.grupopralog.com.br.conf # -# Configuração de Proxy Reverso OTIMIZADA para Nextcloud a correr num backend Apache. -# Esta é a configuração recomendada pela comunidade, adaptada com os nossos snippets. +# Configuração de Proxy Reverso de ALTA PERFORMANCE para Nextcloud, +# incluindo cache privado e de curta duração para a interface. # ============================================================================== # BLOCO HTTP: Redirecionar para HTTPS @@ -26,67 +26,67 @@ server { ssl_certificate /etc/letsencrypt/live/cloud.grupopralog.com.br/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/cloud.grupopralog.com.br/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/cloud.grupopralog.com.br/fullchain.pem; - # Inclui o nosso "kit" de segurança SSL com cifras modernas e cabeçalhos de segurança. include /etc/nginx/snippets/ssl_params.conf; # --- Políticas de Acesso e Logs --- - include /etc/nginx/snippets/global_robots.conf; + include /etc/nginx/snippets/robots_block_all.conf; access_log /var/log/nginx/access.log detailed_proxy; error_log /var/log/nginx/error.log; # --- Parâmetros Gerais --- - # Essencial para uploads de ficheiros grandes no Nextcloud. client_max_body_size 10G; # --- REGRAS DE ROTEAMENTO (LOCATIONS) --- - # 1. Redirecionamentos para CalDAV e CardDAV (essencial para a compatibilidade) + # 1. Redirecionamentos para CalDAV e CardDAV location = /.well-known/carddav { return 301 $scheme://$host/remote.php/dav; } location = /.well-known/caldav { return 301 $scheme://$host/remote.php/dav; } - # 2. Bloqueia o acesso a diretórios sensíveis do Nextcloud. - # Esta é uma camada de segurança importante. - location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ { - deny all; - } - location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { - deny all; - } - - # 3. Rota para Ficheiros Estáticos (Cache Agressivo) - # Apanha a "casca" da aplicação para acelerar o carregamento. + # 2. Rota para Ficheiros Estáticos (Cache Agressivo) location ~* \.(?:css|js|mjs|svg|gif|png|jpg|jpeg|ico|wasm|woff2?|ttf|eot)$ { include /etc/nginx/snippets/proxy_params.conf; - include /etc/nginx/snippets/cache_static_assets.conf; - - # O backend é o seu servidor Apache na porta 80. + include /etc/nginx/snippets/cache_aggressive_static.conf; proxy_pass http://172.16.253.12; } - # 4. Rota para Sincronização de Ficheiros (WebDAV) - # Otimizada para transferências de ficheiros grandes e estáveis. - location ~ ^/remote\.php/(dav|webdav) { - # Desativa o buffering para que os ficheiros fluam diretamente. - proxy_buffering off; - proxy_request_buffering off; - # Timeouts longos para evitar falhas em uploads/downloads grandes. - proxy_read_timeout 3600s; - proxy_send_timeout 3600s; - - include /etc/nginx/snippets/proxy_params.conf; - proxy_pass http://172.16.253.12; - } - - # 5. Rota Principal para a Aplicação (Sem Cache, com WebSockets) - # Apanha todo o resto do tráfego. - location / { - # Desativa o cache para garantir que vemos sempre os dados mais recentes. + # 3. Rota para Sincronização de Ficheiros (WebDAV, etc.) - SEM CACHE + location ~ ^/(remote|dav|carddav|caldav) { proxy_no_cache 1; proxy_cache_bypass 1; + proxy_buffering off; + proxy_request_buffering off; + proxy_read_timeout 3600s; + include /etc/nginx/snippets/proxy_params.conf; + proxy_pass http://172.16.253.12; + } + + # 4. Rota Principal para a Aplicação (CACHE PRIVADO DE CURTA DURAÇÃO) + location / { + # Usa a nossa zona de cache dedicada 'nextcloud_private_cache'. + proxy_cache nextcloud_private_cache; + + # A "CHAVE" PESSOAL DE CADA UTILIZADOR, CONFIRMADA A PARTIR DO SEU SCREENSHOT. + # Usa a variável $cookie_NOME_DO_COOKIE para extrair o valor. + proxy_cache_key "$scheme$proxy_host$request_uri$cookie_ocrx6w0vy907"; + + # Cacheia por um tempo muito curto: 1 minuto. + proxy_cache_valid 200 1m; + + # Ignora e esconde os cabeçalhos de sessão para permitir o cache. + proxy_ignore_headers Expires Cache-Control Set-Cookie; + proxy_hide_header Set-Cookie; + + # Adiciona um cabeçalho de depuração para este cache. + add_header X-Private-Cache $upstream_cache_status; + + # O cache SÓ é usado para requisições GET. POST, PUT, DELETE, etc., são passadas diretamente. + proxy_cache_methods GET HEAD; include /etc/nginx/snippets/proxy_params.conf; - include /etc/nginx/snippets/websocket_params.conf; # Suporte a tempo real + include /etc/nginx/snippets/websocket_params.conf; proxy_pass http://172.16.253.12; } } + +