diff --git a/nginx/sites-available/cloud.grupopralog.com.br.conf b/nginx/sites-available/cloud.grupopralog.com.br.conf index 2b0cd05..45c0786 100644 --- a/nginx/sites-available/cloud.grupopralog.com.br.conf +++ b/nginx/sites-available/cloud.grupopralog.com.br.conf @@ -1,25 +1,25 @@ # Ficheiro: /etc/nginx/sites-available/cloud.grupopralog.com.br.conf # -# Configuração de Proxy Reverso AVANÇADA para Nextcloud com integrações -# de Office Online e Power BI Reporting Server. -# Usa snippets para modularidade e as melhores práticas de cache e segurança. +# Configuração de Proxy Reverso OTIMIZADA para Nextcloud, usando snippets. +# Esta é a configuração base, com placeholders para futuras integrações. # ============================================================================== # BLOCO HTTP: Redirecionar para HTTPS # ============================================================================== server { - if ($host = cloud.grupopralog.com.br) { - return 301 https://$host$request_uri; - } # managed by Certbot - - listen 80; listen [::]:80; server_name cloud.grupopralog.com.br; - location /.well-known/acme-challenge/ { root /var/www/html; } - location / { return 301 https://$host$request_uri; } + # 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; + } } # ============================================================================== @@ -38,9 +38,7 @@ server { include /etc/nginx/snippets/ssl_params.conf; # --- Políticas de Acesso e Logs --- - # Descomente a linha abaixo se o acesso deve ser restrito às suas redes internas. - # include /etc/nginx/conf.d/internal_networks.conf; - include /etc/nginx/snippets/global_robots.conf; + include /etc/nginx/snippets/robots_block_all.conf; # Bloqueia a indexação por motores de busca. access_log /var/log/nginx/access.log detailed_proxy; error_log /var/log/nginx/error.log; @@ -51,27 +49,16 @@ server { # --- REGRAS DE ROTEAMENTO (LOCATIONS) --- # A ordem destas regras é CRUCIAL. O Nginx verifica as mais específicas primeiro. - # 1. Rota para o Servidor de Documentos (Office Online) - # Encaminha todo o tráfego de edição de documentos para o seu servidor dedicado. - location ~ ^/(hosting/discovery|hosting/wopi|wopi) { - # Inclui os cabeçalhos de proxy padrão. - include /etc/nginx/snippets/proxy_params.conf; - # Inclui os cabeçalhos para WebSockets, essenciais para a edição colaborativa. - include /etc/nginx/snippets/websocket_params.conf; - # Encaminha para o seu servidor Office Online. - # !!! AJUSTE O IP E A PORTA CONFORME A SUA INSTALAÇÃO !!! - proxy_pass http://srvoffice001.itguys.com.br; - } + # 1. Redirecionamentos para CalDAV e CardDAV (essencial para a compatibilidade de calendários e contactos) + location = /.well-known/carddav { return 301 $scheme://$host/remote.php/dav; } + location = /.well-known/caldav { return 301 $scheme://$host/remote.php/dav; } - # 2. Rota para o Servidor de Relatórios (Power BI) - # Encaminha o tráfego para o seu Power BI Reporting Server. - location /reports { + # 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; - # Assumindo que o Power BI também pode usar WebSockets. - include /etc/nginx/snippets/websocket_params.conf; - # Encaminha para o seu servidor Power BI. - # !!! AJUSTE O IP E A PORTA CONFORME A SUA INSTALAÇÃO !!! - proxy_pass http://172.16.253.102; + 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; } # 3. Rota para Sincronização de Ficheiros (WebDAV, CalDAV, CardDAV) @@ -88,16 +75,24 @@ server { proxy_pass http://172.16.253.12; } - # 4. 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)$ { - # Inclui o nosso "kit" de cache agressivo. - include /etc/nginx/snippets/cache_static_assets.conf; - include /etc/nginx/snippets/proxy_params.conf; - proxy_pass http://172.16.253.12; - } + # --- PLACEHOLDERS PARA FUTURAS INTEGRAÇÕES --- - # 5. Rota Principal para a Aplicação Nextcloud (Sem Cache) + # 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. location / { # Desativa o cache para garantir que vemos sempre os dados mais recentes. @@ -105,6 +100,8 @@ server { proxy_cache_bypass 1; include /etc/nginx/snippets/proxy_params.conf; + include /etc/nginx/snippets/websocket_params.conf; # Suporte a tempo real + proxy_pass http://172.16.253.12; } }