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

This commit is contained in:
srvproxy001.itguys.com.br 2025-09-15 22:30:37 -03:00
parent 7e68d4be0d
commit c3a1bc53ba
1 changed files with 27 additions and 30 deletions

View File

@ -4,22 +4,14 @@
# e suporte para WebSockets, otimizada para Microsoft Exchange. # e suporte para WebSockets, otimizada para Microsoft Exchange.
# ============================================================================== # ==============================================================================
# BLOCO HTTP: Redirecionar todo o tráfego para a versão segura HTTPS # BLOCO HTTP: Redirecionar para HTTPS
# ============================================================================== # ==============================================================================
server { server {
listen 80; listen 80;
listen [::]:80; listen [::]:80;
server_name webmail.itguys.com.br; server_name webmail.itguys.com.br;
location /.well-known/acme-challenge/ { root /var/www/html; }
# Regra especial para permitir a validação do Let's Encrypt, que acontece na porta 80. location / { return 301 https://$host$request_uri; }
location /.well-known/acme-challenge/ {
root /var/www/html;
}
# Para todas as outras requisições, envia um redirecionamento permanente (301) para HTTPS.
location / {
return 301 https://$host$request_uri;
}
} }
# ============================================================================== # ==============================================================================
@ -59,25 +51,10 @@ server {
# Necessário se o seu Exchange interno usar um certificado auto-assinado. # Necessário se o seu Exchange interno usar um certificado auto-assinado.
proxy_ssl_verify off; proxy_ssl_verify off;
# --- LOCALIZAÇÃO PARA O CACHE PRIVADO E DINÂMICO (.aspx, .slab) --- # --- A CORREÇÃO ESTÁ AQUI: A ORDEM DAS LOCALIZAÇÕES ---
# Esta regra apanha os ficheiros da interface dinâmica do Exchange. # As localizações com expressões regulares (~) são verificadas na ordem em que aparecem.
location ~* \.(aspx|slab)$ { # Colocamos a regra mais específica (ficheiros estáticos) primeiro, para que ela seja
# Usa a nossa zona de cache dedicada para conteúdo privado, definida no nginx.conf. # sempre verificada antes das regras mais genéricas.
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, para evitar conflitos.
proxy_hide_header Set-Cookie;
# Adiciona um cabeçalho para podermos depurar este cache específico (ver se foi HIT ou MISS).
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) --- # --- LOCALIZAÇÃO PARA FICHEIROS ESTÁTICOS (CACHE PÚBLICO) ---
# Esta regra apanha os ficheiros que são seguros para cachear, incluindo as fontes e os ficheiros JSON de tradução. # Esta regra apanha os ficheiros que são seguros para cachear, incluindo as fontes e os ficheiros JSON de tradução.
@ -97,6 +74,26 @@ server {
# A diretiva proxy_pass precisa de estar dentro de cada location. # A diretiva proxy_pass precisa de estar dentro de cada location.
proxy_pass https://172.16.150.150; proxy_pass https://172.16.150.150;
} }
# --- 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, definida no nginx.conf.
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, para evitar conflitos.
proxy_hide_header Set-Cookie;
# Adiciona um cabeçalho para podermos depurar este cache específico (ver se foi HIT ou MISS).
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 PRINCIPAL PARA O RESTO (SEM CACHE, SUPORTE A WEBSOCKETS) --- # --- 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. # Apanha ActiveSync, MAPI, e o tráfego da interface que precisa de ser em tempo real.