[Auto-Sync] Atualização das configurações em srvproxy001.itguys.com.br - 2025-10-06 13:20:49

This commit is contained in:
srvproxy001.itguys.com.br 2025-10-06 13:20:49 -03:00
parent 046e22b89f
commit 3d14578b74
1 changed files with 0 additions and 131 deletions

View File

@ -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;
}
}