diff --git a/nginx/sites-available/srvoffice001.itguys.com.br.conf b/nginx/sites-available/srvoffice001.itguys.com.br.conf deleted file mode 100644 index 6fe9e42..0000000 --- a/nginx/sites-available/srvoffice001.itguys.com.br.conf +++ /dev/null @@ -1,131 +0,0 @@ -# ARQUIVO: /etc/nginx/sites-available/srvoffice001.itguys.com.br.conf -# DATA DA ALTERAÇÃO: 2025-09-23 13:45 -# -# AUDITORIA E CORREÇÃO DE CONFIGURAÇÃO PARA MICROSOFT OFFICE ONLINE SERVER (OOS) -# VERSÃO 2: Ajuste no tamanho do ssl_session_cache para 50m para evitar conflito. -# -# EXPLICAÇÕES GERAIS: -# -# 1. REDIRECIONAMENTO HTTP -> HTTPS: -# - O primeiro bloco 'server' escuta na porta 80 (HTTP) e redireciona -# permanentemente (301) todo o tráfego para a versão segura em HTTPS. -# Isso é uma prática essencial de segurança. -# -# 2. BLOCO PRINCIPAL HTTPS (PORTA 443): -# - Este é o bloco principal que lida com as conexões seguras. -# - Habilita SSL/TLS e HTTP/2 para melhor performance. -# -# 3. PARÂMETROS SSL/TLS: -# - As diretivas 'ssl_*' foram adicionadas diretamente no arquivo para -# garantir uma configuração segura e moderna, evitando o uso de snippets. -# - Define os protocolos TLS aceitos (priorizando TLSv1.3), as cifras -# de criptografia fortes, e habilita HSTS (Strict-Transport-Security) -# para forçar o navegador a usar apenas HTTPS. -# -# 4. TRATAMENTO DE CORS (A CORREÇÃO PRINCIPAL): -# - O bloco 'if ($request_method = 'OPTIONS')' intercepta as requisições -# preflight do navegador. -# - 'add_header ...': Adiciona os cabeçalhos necessários para que o navegador -# (na origem 'cloud.grupopralog.com.br') entenda que a requisição é permitida. -# - 'return 204;': Responde à requisição OPTIONS com um código '204 No Content', -# que significa "sucesso, pode prosseguir". Isso evita que a requisição -# seja enviada ao backend do OOS, resolvendo o erro de redirecionamento. -# - 'add_header ... always;': Adiciona o cabeçalho 'Access-Control-Allow-Origin' -# para TODAS as respostas (não apenas as de sucesso 2xx), incluindo as requisições -# GET/POST reais, garantindo que o navegador as aceite. -# -# 5. PROXY REVERSO E WEBSOCKETS: -# - As diretivas 'proxy_*' encaminham a requisição para o servidor OOS interno. -# - Os cabeçalhos (Host, X-Real-IP, etc.) são preservados para que o OOS -# saiba a origem real da requisição. -# - As configurações de 'Upgrade' e 'Connection' são mantidas para garantir -# o funcionamento correto dos WebSockets, essenciais para a edição em tempo real. - -# Bloco 1: Redirecionamento de HTTP para HTTPS -server { - listen 80; - server_name srvoffice001.itguys.com.br; - - # Força o redirecionamento para a versão segura do site - return 301 https://$host$request_uri; -} - -# Bloco 2: Configuração principal do Proxy Reverso com SSL -server { - listen 443 ssl http2; - server_name srvoffice001.itguys.com.br; - - # --- Bloco 3: Parâmetros de SSL/TLS --- - # Caminhos para os certificados SSL - ssl_certificate /etc/letsencrypt/live/srvoffice001.itguys.com.br/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/srvoffice001.itguys.com.br/privkey.pem; - - # Protocolos seguros - ssl_protocols TLSv1.2 TLSv1.3; - ssl_prefer_server_ciphers on; - ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH"; - ssl_ecdh_curve secp384r1; - ssl_session_cache shared:SSL:50m; # <-- ALTERAÇÃO FEITA AQUI - ssl_session_timeout 10m; - ssl_session_tickets off; - ssl_stapling on; - ssl_stapling_verify on; - resolver 8.8.8.8 8.8.4.4 valid=300s; - resolver_timeout 5s; - - # Cabeçalho de segurança HSTS - # Força o navegador a se comunicar apenas via HTTPS por 6 meses - add_header Strict-Transport-Security "max-age=15768000; includeSubDomains" always; - - # Raiz do servidor, apenas para referência (não é estritamente necessário para proxy puro) - root /var/www/html; - - # O Bloco Principal: Proxy reverso para a aplicação OOS - location / { - # --- Bloco 4: Tratamento de CORS (Correção) --- - # Intercepta as requisições de verificação (preflight) - if ($request_method = 'OPTIONS') { - # Informa qual origem é permitida - add_header 'Access-Control-Allow-Origin' 'https://cloud.grupopralog.com.br'; - # Informa quais métodos são permitidos - add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, HEAD'; - # Informa quais cabeçalhos o navegador pode enviar - add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Type, Accept, Origin, User-Agent, DNT, Cache-Control, X-Mx-ReqToken, Keep-Alive, X-Requested-With, If-Modified-Since'; - # Permite que o navegador envie cookies e credenciais - add_header 'Access-Control-Allow-Credentials' 'true'; - # Define por quanto tempo o navegador pode cachear essa resposta preflight - add_header 'Access-Control-Max-Age' 1728000; - add_header 'Content-Type' 'text/plain; charset=utf-8'; - add_header 'Content-Length' 0; - # Responde com sucesso e encerra o processamento aqui, evitando o proxy - return 204; - } - - # Adiciona o cabeçalho de permissão para as requisições reais (GET, POST, etc.) - # O 'always' é importante para incluir o header mesmo em respostas de erro. - add_header 'Access-Control-Allow-Origin' 'https://cloud.grupopralog.com.br' always; - add_header 'Access-Control-Allow-Credentials' 'true' always; - - - # --- Bloco 5: Proxy Reverso e WebSockets --- - # IP interno do seu servidor Windows com Office Online Server - proxy_pass http://172.16.253.101; - - # Cabeçalhos essenciais para o 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; - proxy_set_header X-Forwarded-Proto $scheme; # Usar $scheme é mais robusto - proxy_set_header X-Forwarded-Host $host; - - # Parâmetros para Websocket, importantes para a edição colaborativa - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - - # Aumentar timeouts pode ajudar em conexões lentas ou documentos grandes - proxy_connect_timeout 90s; - proxy_send_timeout 90s; - proxy_read_timeout 90s; - } -}