[Auto-Sync] Atualização das configurações em srvproxy001.itguys.com.br - 2025-10-06 13:20:49
This commit is contained in:
parent
046e22b89f
commit
3d14578b74
|
|
@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Loading…
Reference in New Issue