From c79d0782da6893fee7bdfb20f82c0e2c93751517 Mon Sep 17 00:00:00 2001 From: "srvproxy001.itguys.com.br" Date: Thu, 18 Sep 2025 18:11:11 -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=2018:11:11?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cloud.grupopralog.com.br.conf | 131 +++++++++--------- 1 file changed, 63 insertions(+), 68 deletions(-) diff --git a/nginx/sites-available/cloud.grupopralog.com.br.conf b/nginx/sites-available/cloud.grupopralog.com.br.conf index fc405bd..f681eca 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, usando snippets. -# Esta é a configuração base, com placeholders para futuras integrações. +# Configuração de Proxy Reverso OTIMIZADA para Nextcloud, usando a configuração +# recomendada pela comunidade para máxima compatibilidade e performance. # ============================================================================== # BLOCO HTTP: Redirecionar para HTTPS @@ -10,16 +10,8 @@ server { listen 80; listen [::]:80; server_name cloud.grupopralog.com.br; - - # Permite a validação do Let's Encrypt. - location /.well-known/acme-challenge/ { - root /var/www/html; - } - - # Redireciona todo o outro tráfego para a versão segura. - location / { - return 301 https://$host$request_uri; - } + location /.well-known/acme-challenge/ { root /var/www/html; } + location / { return 301 https://$host$request_uri; } } # ============================================================================== @@ -34,76 +26,79 @@ 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; # Bloqueia a indexação por motores de busca. + 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; - location ^~ /index.php/ { - rewrite ^/index.php(.*)$ $1 last; - } + # --- REGRAS DE ROTEAMENTO (LOCATIONS) --- - # 1. Redirecionamentos para CalDAV e CardDAV (essencial para a compatibilidade de calendários e contactos) + # 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; } + + # Define a raiz do seu site Nextcloud no servidor de backend. + # Isto é usado pela regra 'try_files' abaixo. + root /var/www/nextcloud; # Ajuste este caminho se a sua instalação for diferente - # 2. Rota para Ficheiros Estáticos (Cache Agressivo) - # Apanha a "casca" da aplicação Nextcloud para acelerar o carregamento. - 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 nome deste snippet pode ser o seu 'cache_aggressive_static.conf' - proxy_pass http://172.16.253.12:80; - } - - # 3. Rota para Sincronização de Ficheiros (WebDAV, CalDAV, CardDAV) - # Esta rota é otimizada para transferências de ficheiros grandes e estáveis. - location ~ ^/(remote|dav|carddav|caldav) { - # Desativa o buffering para que os ficheiros fluam diretamente. - modsecurity off; - 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:80; - } - - # --- PLACEHOLDERS PARA FUTURAS INTEGRAÇÕES --- - - # 4. Rota para o Servidor de Documentos (Office Online) - # DESCOMENTE este bloco quando o seu servidor Office estiver pronto. - # location ~ ^/(hosting/discovery|hosting/wopi|wopi) { - # include /etc/nginx/snippets/proxy_params.conf; - # include /etc/nginx/snippets/websocket_params.conf; - # proxy_pass http://IP_DO_SEU_OFFICE_SERVER; - # } - - # 5. Rota para o Servidor de Relatórios (Power BI) - # DESCOMENTE este bloco quando o seu servidor Power BI estiver pronto. - # location /reports { - # include /etc/nginx/snippets/proxy_params.conf; - # proxy_pass http://IP_DO_SEU_POWERBI_SERVER; - # } - - # 6. Rota Principal para a Aplicação Nextcloud (Sem Cache, com WebSockets) - # Apanha todo o resto do tráfego. + # 2. Rota Principal para a Aplicação (usando FastCGI) + # Esta regra apanha a maioria do tráfego e encaminha-o para o PHP-FPM. location / { - # Desativa o cache para garantir que vemos sempre os dados mais recentes. - proxy_no_cache 1; - proxy_cache_bypass 1; - - include /etc/nginx/snippets/proxy_params.conf; - include /etc/nginx/snippets/websocket_params.conf; # Suporte a tempo real + # Adiciona cabeçalhos de segurança específicos do Nextcloud. + add_header X-Robots-Tag "noindex, nofollow" always; - proxy_pass http://172.16.253.12:80; + # Redireciona para o script principal do Nextcloud. + rewrite ^ /index.php; + } + + # A "magia" para as URLs "bonitas" do Nextcloud. + location ~ ^\/(?:index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|ocm-provider\/.+|.+\/richdocumentscode\/proxy)\.php(?:$|\/) { + # Encaminha o pedido para o socket do PHP-FPM no seu servidor Nextcloud. + # !!! SUBSTITUA O CAMINHO ABAIXO PELO QUE VOCÊ ENCONTROU NO PASSO 1 !!! + fastcgi_pass unix:/run/php/php8.2-fpm.sock; + + fastcgi_split_path_info ^(.+?\.php)(\/.*|)$; + set $path_info $fastcgi_path_info; + + # Inclui os parâmetros FastCGI padrão. + include fastcgi_params; + + # Adiciona os parâmetros específicos que o Nextcloud precisa. + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_param PATH_INFO $path_info; + fastcgi_param modHeadersAvailable true; + fastcgi_param front_controller_active true; + fastcgi_pass_request_headers on; + + # Cabeçalhos de proxy para que o Nextcloud saiba a origem da requisição. + fastcgi_param REMOTE_ADDR $remote_addr; + fastcgi_param SERVER_NAME $server_name; + fastcgi_param HTTPS on; + } + + # 3. Rota para Ficheiros Estáticos (Cache Agressivo) + # Esta regra apanha os ficheiros que são seguros para cachear. + location ~* \.(?:css|js|mjs|svg|gif|png|jpg|jpeg|ico|wasm|woff2?|ttf|eot)$ { + include /etc/nginx/snippets/cache_aggressive_static.conf; + + # Esta regra serve os ficheiros diretamente, sem passar pelo PHP. + try_files $uri /index.php$request_uri; + + # Adiciona os cabeçalhos de proxy para o caso de um fallback para o PHP. + include /etc/nginx/snippets/proxy_params.conf; + proxy_pass http://172.16.253.12; + } + + # 4. Bloqueia o acesso a diretórios sensíveis. + location ~ ^\/(?:build|tests|config|lib|3rdparty|templates|data)\/ { + deny all; + } + location ~ ^\/\. { + deny all; } }