From 518030e4fa344af8b838dd4457af2cee02e27c15 Mon Sep 17 00:00:00 2001 From: "srvproxy001.itguys.com.br" Date: Mon, 15 Sep 2025 21:48:37 -0300 Subject: [PATCH] =?UTF-8?q?[Auto-Sync]=20Atualiza=C3=A7=C3=A3o=20das=20con?= =?UTF-8?q?figura=C3=A7=C3=B5es=20em=20srvproxy001.itguys.com.br=20-=20202?= =?UTF-8?q?5-09-15=2021:48:37?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../webmail.itguys.com.br.conf | 96 +++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 nginx/sites-available/webmail.itguys.com.br.conf diff --git a/nginx/sites-available/webmail.itguys.com.br.conf b/nginx/sites-available/webmail.itguys.com.br.conf new file mode 100644 index 0000000..06579d6 --- /dev/null +++ b/nginx/sites-available/webmail.itguys.com.br.conf @@ -0,0 +1,96 @@ +# Ficheiro: /etc/nginx/sites-available/webmail.itguys.com.br.conf +# +# Configuração de Proxy Reverso com cache HÍBRIDO (público e privado) 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 + 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; + + # --- LOCALIZAÇÃO PARA O CACHE PRIVADO E DINÂMICO (.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. + # Combina a URL com o cookie de sessão para criar uma chave única. + # O Nginx extrai o valor do cookie com a variável $cookie_NOME_DO_COOKIE. + 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; + + proxy_pass https://172.16.150.150; + proxy_ssl_verify off; + 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; + } + + # --- LOCALIZAÇÃO PARA FICHEIROS ESTÁTICOS (CACHE PÚBLICO) --- + # Esta regra apanha os ficheiros que são seguros para cachear. + 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; + proxy_no_cache 0; + proxy_cache_bypass 0; + proxy_cache_valid 200 60m; + expires 24h; + + proxy_pass https://172.16.150.150; + proxy_ssl_verify off; + } + + # --- LOCALIZAÇÃO PRINCIPAL PARA O RESTO (SEM CACHE) --- + # Apanha ActiveSync, MAPI, Autodiscover, etc. + location / { + proxy_no_cache 1; + proxy_cache_bypass 1; + + proxy_pass https://172.16.150.150; + proxy_read_timeout 3600s; + + 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_http_version 1.1; + } +} +