[Auto-Sync] Atualização das configurações em srvproxy001.itguys.com.br - 2025-09-15 20:45:37
This commit is contained in:
parent
7eb93b191c
commit
43bf83b12a
|
|
@ -1,73 +1,99 @@
|
|||
# Ficheiro: /etc/nginx/sites-available/webmail.itguys.com.br.conf
|
||||
#
|
||||
# Configuração de Proxy Reverso com Terminação SSL e Cache Inteligente para Microsoft Exchange.
|
||||
# Configuração de Proxy Reverso com Terminação SSL, Cache Inteligente e HTTP/3 para Microsoft Exchange.
|
||||
|
||||
# Bloco para redirecionar todo o tráfego HTTP para HTTPS
|
||||
# ==============================================================================
|
||||
# BLOCO HTTP: Redirecionar todo o tráfego inseguro para HTTPS
|
||||
# ==============================================================================
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
server_name webmail.itguys.com.br;
|
||||
|
||||
# Regra especial para a validação do Let's Encrypt funcionar
|
||||
# Regra especial para a validação do Let's Encrypt funcionar corretamente.
|
||||
location /.well-known/acme-challenge/ {
|
||||
root /var/www/html;
|
||||
}
|
||||
|
||||
# Para todas as outras requisições, envia um redirecionamento permanente para a versão segura.
|
||||
location / {
|
||||
return 301 https://$host$request_uri;
|
||||
}
|
||||
}
|
||||
|
||||
# Bloco principal para o site HTTPS
|
||||
# ==============================================================================
|
||||
# BLOCO HTTPS: O Coração da nossa Configuração
|
||||
# ==============================================================================
|
||||
server {
|
||||
# --- Configuração de Escuta (TCP para HTTP/2 e UDP para HTTP/3) ---
|
||||
# Escuta na porta 443 para tráfego TCP padrão (suporta TLSv1.2, TLSv1.3 e HTTP/2).
|
||||
listen 443 ssl http2;
|
||||
listen [::]:443 ssl http2;
|
||||
|
||||
# Escuta na MESMA porta 443, mas para tráfego UDP (QUIC), ativando o HTTP/3.
|
||||
# O 'reuseport' é uma otimização para performance em servidores com múltiplos núcleos.
|
||||
listen 443 quic reuseport;
|
||||
listen [::]:443 quic reuseport;
|
||||
|
||||
# O nome de domínio para este servidor.
|
||||
server_name webmail.itguys.com.br;
|
||||
|
||||
# O Certbot irá gerir estas linhas e adicionar os caminhos dos certificados
|
||||
# ssl_certificate /etc/letsencrypt/live/webmail.itguys.com.br/fullchain.pem;
|
||||
# ssl_certificate_key /etc/letsencrypt/live/webmail.itguys.com.br/privkey.pem;
|
||||
# --- Certificados SSL (Geridos pelo Certbot) ---
|
||||
# O Certbot irá preencher estas linhas automaticamente após a primeira execução.
|
||||
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 para proteger os utilizadores
|
||||
# --- Cabeçalhos de Segurança e HTTP/3 ---
|
||||
# Informa aos navegadores para sempre usarem HTTPS neste site por um longo período.
|
||||
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
|
||||
add_header X-Content-Type-Options "nosniff" always;
|
||||
add_header X-Frame-Options "SAMEORIGIN" always;
|
||||
# Informa aos navegadores que o HTTP/3 está disponível nesta porta, para que eles o usem nas próximas visitas.
|
||||
add_header Alt-Svc 'h3=":443"; ma=86400';
|
||||
|
||||
# Usa o log global que já configurámos
|
||||
# --- Configurações de Log ---
|
||||
# Usa o nosso formato de log JSON detalhado que já configurámos globalmente.
|
||||
access_log /var/log/nginx/access.log detailed_proxy;
|
||||
error_log /var/log/nginx/error.log;
|
||||
|
||||
# --- ESTRATÉGIA DE CACHE HÍBRIDA E SEGURA ---
|
||||
proxy_cache zabbix_cache; # Reutilizando a nossa zona de cache
|
||||
# Usa a zona de cache que já criámos no nginx.conf (ex: 'zabbix_cache').
|
||||
proxy_cache zabbix_cache;
|
||||
# Adiciona um cabeçalho à resposta para podermos ver se o cache foi um HIT ou um MISS.
|
||||
add_header X-Proxy-Cache $upstream_cache_status;
|
||||
# Regra geral: NÃO cachear nada por defeito, para proteger caixas de correio e conteúdo dinâmico.
|
||||
# Regra geral: NÃO cachear nada por defeito. Isto protege o conteúdo dinâmico e privado.
|
||||
proxy_no_cache 1;
|
||||
proxy_cache_bypass 1;
|
||||
|
||||
# --- LOCALIZAÇÃO PARA FICHEIROS ESTÁTICOS (CACHE ATIVADO) ---
|
||||
# Cacheia agressivamente a interface do OWA/ECP (CSS, JS, imagens, etc.)
|
||||
# Esta regra captura ficheiros que são seguros para cachear (imagens, CSS, JavaScript).
|
||||
location ~* \.(jpg|jpeg|gif|png|webp|svg|css|js|ico|woff2|ttf)$ {
|
||||
proxy_no_cache 0; # Ativa o cache apenas para estes ficheiros
|
||||
# Ativa o cache apenas para estes ficheiros.
|
||||
proxy_no_cache 0;
|
||||
proxy_cache_bypass 0;
|
||||
proxy_cache_valid 200 60m; # Cacheia por 60 minutos
|
||||
|
||||
# Instrui o NAVEGADOR do cliente a cachear por 24 horas
|
||||
# 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;
|
||||
|
||||
proxy_pass https://IP_INTERNO_DO_EXCHANGE;
|
||||
# Para backends HTTPS com certificados auto-assinados (comum em redes internas)
|
||||
|
||||
# Encaminha a requisição para o servidor Exchange.
|
||||
proxy_pass https://172.16.150.150;
|
||||
|
||||
# Como o Exchange interno provavelmente usa um certificado auto-assinado,
|
||||
# dizemos ao Nginx para não tentar validá-lo. É seguro na sua rede interna.
|
||||
proxy_ssl_verify off;
|
||||
}
|
||||
|
||||
|
||||
# --- LOCALIZAÇÃO PRINCIPAL PARA OWA, ECP, ActiveSync, etc. (SEM CACHE) ---
|
||||
# Esta regra apanha todo o resto do tráfego.
|
||||
location / {
|
||||
# O cache permanece desativado aqui por causa da regra geral do servidor.
|
||||
proxy_pass https://IP_INTERNO_DO_EXCHANGE;
|
||||
|
||||
# Timeouts longos para suportar sessões do Outlook e uploads/downloads grandes.
|
||||
proxy_read_timeout 3600s;
|
||||
proxy_send_timeout 300s;
|
||||
# O cache permanece desativado aqui por herdar da regra geral do servidor.
|
||||
proxy_pass https://172.16.150.150;
|
||||
|
||||
# Timeouts longos são essenciais para o Exchange, para suportar sessões longas
|
||||
# do Outlook (Outlook Anywhere) e uploads/downloads de anexos grandes.
|
||||
proxy_read_timeout 3600s; # 1 hora
|
||||
proxy_send_timeout 300s; # 5 minutos
|
||||
|
||||
# Cabeçalhos essenciais para que o Exchange funcione corretamente atrás de um proxy.
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
|
|
@ -76,3 +102,4 @@ server {
|
|||
proxy_http_version 1.1;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue