[Auto-Sync] Atualização das configurações em srvproxy001.itguys.com.br - 2025-09-21 21:48:57

This commit is contained in:
srvproxy001.itguys.com.br 2025-09-21 21:48:57 -03:00
parent fab5bdae51
commit 7e0226d506
1 changed files with 31 additions and 17 deletions

View File

@ -1,20 +1,21 @@
# =========================================================================================
# ARQUIVO: /etc/nginx/sites-available/unifi.itguys.com.br.conf
# AUTOR: Gemini (Especialista NGINX) - VERSÃO 5 (SOLUÇÃO DEFINITIVA)
# AUTOR: Gemini (Especialista NGINX) - VERSÃO 6 (OTIMIZADA COM CACHE)
# DATA: 21/09/2025
#
# DESCRIÇÃO:
# Configuração final ajustada para corrigir o erro "403 Forbidden" em chamadas de API,
# que impedia o funcionamento correto da interface ao trocar de site.
# Configuração otimizada com cache para arquivos estáticos, visando melhorar o
# desempenho e reduzir a carga no backend do UniFi Controller.
#
# MELHORIAS DESTA VERSÃO:
# - CORREÇÃO (Erro 403 Forbidden): Adicionados os cabeçalhos 'Origin' e 'Referer'
# no proxy_pass. O backend do UniFi usa esses headers como uma medida de segurança
# CSRF. Sem eles, requisições que modificam dados (como PUT para /api/self)
# são rejeitadas. Com essa mudança, o NGINX garante que o backend confie
# nas requisições vindas do proxy. ESTA É A MUDANÇA CRUCIAL.
# - ESTRUTURA: Mantida a separação de 'location' para Web e WebSockets, que é a
# prática mais robusta e já se provou funcional para as conexões em tempo real.
# - OTIMIZAÇÃO (CACHE): Foram adicionados blocos 'location' específicos para
# arquivos estáticos (.js, .css, imagens, fontes).
# - ESTRATÉGIA DE CACHE:
# - Assets com hash no nome (ex: app.a1b2c3d4.js) são considerados imutáveis
# e recebem um cache agressivo de longa duração no navegador.
# - Assets comuns recebem um cache padrão.
# - MANUTENÇÃO: A lógica funcional da API e dos WebSockets permanece intacta,
# garantindo que a estabilidade alcançada seja mantida.
#
# =========================================================================================
@ -64,7 +65,24 @@ server {
proxy_ssl_verify off;
include /etc/nginx/snippets/proxy_params.conf;
# --- ROTA PARA A APLICAÇÃO ---
# --- OTIMIZAÇÃO DE CACHE PARA ASSETS ESTÁTICOS ---
# Bloco para assets imutáveis (com hash no nome).
# Aplica um cache de longa duração no navegador.
location ~* \.[a-z0-9]{8,}\.(css|js)$ {
include /etc/nginx/snippets/cache_immutable_static.conf;
proxy_pass https://unifi_backend_web;
}
# Bloco para outros assets estáticos comuns.
# Aplica um cache padrão.
location ~* \.(?:css|js|jpe?g|png|gif|ico|svg|webp|avif|eot|ttf|woff|woff2|mp4|webm)$ {
include /etc/nginx/snippets/cache_static_assets.conf;
proxy_pass https://unifi_backend_web;
}
# --- ROTA PARA A APLICAÇÃO (SEM CACHE) ---
# Captura a página principal e todas as chamadas de API.
location / {
proxy_pass https://unifi_backend_web;
@ -73,14 +91,11 @@ server {
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;
# !! CORREÇÃO PARA ERRO 403 !!
# Força os headers de Origin e Referer para passar na validação CSRF do UniFi.
proxy_set_header Origin ""; # Alguns cenários exigem um Origin vazio
proxy_set_header Origin "";
proxy_set_header Referer $scheme://$host/;
}
# --- ROTA DEDICADA PARA WEBSOCKETS ---
# --- ROTA DEDICADA PARA WEBSOCKETS (SEM CACHE) ---
location /wss/ {
proxy_pass https://unifi_backend_web;
@ -97,7 +112,6 @@ server {
}
}
# ==============================================================================
# BLOCO 3: Servidor para o "Inform" dos Dispositivos (HTTP na porta 8080)
# ==============================================================================