From d5350e851c486453c629a50746f5cea445238193 Mon Sep 17 00:00:00 2001 From: "srvproxy001.itguys.com.br" Date: Mon, 22 Sep 2025 13:55:39 -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-22=2013:55:39?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cloud.grupopralog.com.br.conf | 88 ++++++++++--------- 1 file changed, 45 insertions(+), 43 deletions(-) diff --git a/nginx/sites-available/cloud.grupopralog.com.br.conf b/nginx/sites-available/cloud.grupopralog.com.br.conf index b8cc222..a7d94e7 100644 --- a/nginx/sites-available/cloud.grupopralog.com.br.conf +++ b/nginx/sites-available/cloud.grupopralog.com.br.conf @@ -66,6 +66,24 @@ server { } } + 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; + } + +# Rotas dos editores e websockets. +# Estas precisam que o caminho original seja passado integralmente. +location ~ ^/(op|we|wv|p|x|o)/ { + proxy_pass http://office_backend; + proxy_set_header Host $host; + include /etc/nginx/snippets/websocket_params.conf; # Garante WebSocket para todos + + # AJUSTE FINAL: Corrige os caminhos dos recursos (CSS, JS) + proxy_redirect ~^http://(?!172\.16\.253\.101)([^/]+) https://$host; + proxy_redirect default; + +} + # ============================================================================== # C. BLOCO HTTPS: Servidor Principal # ============================================================================== @@ -106,70 +124,54 @@ server { location = /.well-known/caldav { return 301 $scheme://$host/remote.php/dav; } # -------------------------------------------------------------------------- - # J. ROTAS DO OFFICE ONLINE (NOVO) - # Estas rotas capturam as requisições para o Office e as encaminham - # para o backend correto, em vez de irem para o Nextcloud. - # É crucial que elas venham ANTES da rota principal "location /". + # J. ROTAS DO OFFICE ONLINE (VERSÃO CORRIGIDA E FINAL) # -------------------------------------------------------------------------- - # J.1. Rota de descoberta do serviço Office (discovery) + # J.1. Bloqueio da telemetria que causa erros no editor + location = /we/RemoteTelemetry.ashx { + return 204; + } + + # J.2. Rota de descoberta do serviço Office (discovery) com correção do XML location ^~ /hosting/discovery { proxy_pass http://office_backend/hosting/discovery; 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; + + # Corrige as URLs incorretas geradas pelo Office Online no XML + sub_filter_once off; + sub_filter_types text/xml; + sub_filter 'https://srvoffice001.itguys.com.br/' 'https://cloud.grupopralog.com.br/'; + sub_filter 'https://srvoffice001/' 'https://cloud.grupopralog.com.br/'; + sub_filter 'https://172.16.253.101/' 'https://cloud.grupopralog.com.br/'; + sub_filter 'http://srvoffice001.itguys.com.br/' 'https://cloud.grupopralog.com.br/'; + sub_filter 'http://srvoffice001/' 'https://cloud.grupopralog.com.br/'; } - # ================================================================== - # AJUSTE FINAL: Corrige em tempo real as URLs incorretas geradas - # pelo Office Online dentro do arquivo de descoberta (XML). - # ================================================================== - sub_filter_once off; - sub_filter_types text/xml; - sub_filter 'https://srvoffice001.itguys.com.br/' 'https://cloud.grupopralog.com.br/'; - sub_filter 'https://srvoffice001/' 'https://cloud.grupopralog.com.br/'; - sub_filter 'https://172.16.253.101/' 'https://cloud.grupopralog.com.br/'; - sub_filter 'http://srvoffice001.itguys.com.br/' 'https://cloud.grupopralog.com.br/'; - sub_filter 'http://srvoffice001/' 'https://cloud.grupopralog.com.br/'; - - # J.2. Rota WOPI para manipulação de arquivos + # J.3. Rota WOPI para manipulação de arquivos location ^~ /hosting/wopi/ { proxy_pass http://office_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; } -# Rotas dos editores e websockets. -# Estas precisam que o caminho original seja passado integralmente. -location ~ ^/(op|we|wv|p|x|o)/ { - proxy_pass http://office_backend; - proxy_set_header Host $host; - include /etc/nginx/snippets/websocket_params.conf; # Garante WebSocket para todos - - # AJUSTE FINAL: Corrige os caminhos dos recursos (CSS, JS) - proxy_redirect ~^http://(?!172\.16\.253\.101)([^/]+) https://$host; - proxy_redirect default; - -} - + # J.4. Rota unificada para editores, recursos e websockets + location ~ ^/(op|we|wv|p|x|lo|m|o|ocs)/ { + proxy_pass http://office_backend; + proxy_set_header Host $host; + include /etc/nginx/snippets/websocket_params.conf; + } + # -------------------------------------------------------------------------- # H.2. Rota Principal da Aplicação Nextcloud + # -------------------------------------------------------------------------- location / { - # ---------------------------------------------------------------------- - # G. TRATAMENTO DE URLS AMIGÁVEIS (PRETTY URLS) - # ---------------------------------------------------------------------- + # G. Tratamento de URLs amigáveis rewrite ^\/\.well-known\/(card|cal)dav /remote.php/dav/ permanent; rewrite ^(\/remote\/.+)(\/)$ $1 permanent; # Passa a requisição para o backend proxy_pass http://nextcloud_backend; - # ---------------------------------------------------------------------- - # F. CABEÇALHOS DE PROXY (PROXY HEADERS) - # ---------------------------------------------------------------------- + # F. Cabeçalhos de Proxy proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;