[Auto-Sync] Atualização das configurações em srvproxy001.itguys.com.br - 2025-09-15 22:24:32

This commit is contained in:
srvproxy001.itguys.com.br 2025-09-15 22:24:32 -03:00
parent cf83ff4847
commit cb93ba80bf
1 changed files with 0 additions and 125 deletions

View File

@ -1,125 +0,0 @@
# Ficheiro: /etc/nginx/sites-available/webmail.itguys.com.br.conf
#
# Configuração de Proxy Reverso com cache HÍBRIDO (público e privado) e suporte
# para WebSockets, otimizada para Microsoft Exchange.
# ==============================================================================
# BLOCO HTTP: Redirecionar para HTTPS
# ==============================================================================
server {
listen 80;
listen [::]:80;
server_name webmail.itguys.com.br;
location /.well-known/acme-challenge/ { root /var/www/html; }
location / { return 301 https://$host$request_uri; }
}
# ==============================================================================
# BLOCO HTTPS: O Coração da nossa Configuração
# ==============================================================================
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name webmail.itguys.com.br;
# Certificados SSL (Geridos pelo Certbot)
#ssl_certificate /etc/letsencrypt/live/webmail.itguys.com.br/fullchain.pem;
#ssl_certificate_key /etc/letsencrypt/live/webmail.itguys.com.br/privkey.pem;
# Cabeçalhos de Segurança Padrão
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
# Configurações de Log
access_log /var/log/nginx/access.log detailed_proxy;
error_log /var/log/nginx/error.log;
# Cabeçalhos de Proxy Globais (serão herdados por todas as 'location')
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;
proxy_ssl_verify off;
# --- LOCALIZAÇÃO ESPECIAL PARA OWA E ECP (COM EXCEÇÃO DO WAF) ---
# Esta regra apanha todo o tráfego para as interfaces de admin e webmail.
location ~ ^/(owa|ecp) {
# --- A CORREÇÃO DEFINITIVA ---
# Desativa o motor de regras do ModSecurity APENAS para estas localizações.
# Isto previne os falsos positivos que bloqueiam a funcionalidade legítima.
modsecurity_rules 'SecRuleEngine Off';
# Permite que as atualizações em tempo real (WebSockets) funcionem.
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_buffering off;
# Timeouts longos para as sessões
proxy_read_timeout 3600s;
# Encaminha para o servidor Exchange.
proxy_pass https://172.16.150.150;
}
# --- LOCALIZAÇÃO PARA O CACHE PRIVADO E DINÂMICICO (.aspx, .slab) ---
# Esta regra apanha os ficheiros da interface dinâmica do Exchange.
location ~* \.(aspx|slab)$ {
# Usa a nossa zona de cache dedicada para conteúdo privado.
proxy_cache exchange_private_cache;
# A "CHAVE" PESSOAL DE CADA UTILIZADOR. Usa o cookie de sessão para criar um cache único.
proxy_cache_key "$scheme$proxy_host$request_uri$cookie_ASP_NET_SessionId";
# Cacheia por um tempo muito curto: 1 minuto.
proxy_cache_valid 200 1m;
# Ignora cabeçalhos que normalmente impediriam o cache de conteúdo autenticado.
proxy_ignore_headers Expires Cache-Control Set-Cookie;
# Esconde o cabeçalho Set-Cookie para o cliente quando a resposta vem do cache.
proxy_hide_header Set-Cookie;
# Adiciona um cabeçalho para podermos depurar este cache específico.
add_header X-Private-Cache $upstream_cache_status;
# A diretiva proxy_pass precisa de estar dentro de cada location.
proxy_pass https://172.16.150.150;
}
# --- LOCALIZAÇÃO PARA FICHEIROS ESTÁTICOS (CACHE PÚBLICO) ---
# Esta regra apanha os ficheiros que são seguros para cachear, incluindo as fontes.
location ~* \.(jpg|jpeg|gif|png|webp|svg|css|js|ico|woff2|ttf)$ {
# Usa a nossa zona de cache pública.
proxy_cache zabbix_cache;
add_header X-Public-Cache $upstream_cache_status;
# Ativa o cache para estes ficheiros.
proxy_no_cache 0;
proxy_cache_bypass 0;
# Define que as respostas válidas (código 200) ficam no cache por 60 minutos.
proxy_cache_valid 200 60m;
# Instrui o NAVEGADOR do cliente a guardar uma cópia por 24 horas.
expires 24h;
# A diretiva proxy_pass precisa de estar dentro de cada location.
proxy_pass https://172.16.150.150;
}
# --- LOCALIZAÇÃO PRINCIPAL PARA O RESTO (SEM CACHE, SUPORTE A WEBSOCKETS) ---
# Apanha ActiveSync, MAPI, e o tráfego da interface que precisa de ser em tempo real.
location / {
# Regra geral: NÃO cachear nada por defeito.
proxy_no_cache 1;
proxy_cache_bypass 1;
# --- CORREÇÃO PARA ATUALIZAÇÕES EM TEMPO REAL ---
# As linhas abaixo são essenciais para permitir que as conexões WebSocket e
# de longa duração funcionem, resolvendo o "bug" da lista de e-mails.
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# Desativa o buffering para garantir que os dados fluam em tempo real.
proxy_buffering off;
# Timeouts longos para suportar sessões do Outlook e uploads/downloads grandes.
proxy_read_timeout 3600s;
# A diretiva proxy_pass precisa de estar dentro de cada location.
proxy_pass https://172.16.150.150;
}
}