[Auto-Sync] Atualização das configurações em srvproxy001.itguys.com.br - 2025-09-21 21:48:57
This commit is contained in:
parent
fab5bdae51
commit
7e0226d506
|
|
@ -1,20 +1,21 @@
|
||||||
# =========================================================================================
|
# =========================================================================================
|
||||||
# ARQUIVO: /etc/nginx/sites-available/unifi.itguys.com.br.conf
|
# 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
|
# DATA: 21/09/2025
|
||||||
#
|
#
|
||||||
# DESCRIÇÃO:
|
# DESCRIÇÃO:
|
||||||
# Configuração final ajustada para corrigir o erro "403 Forbidden" em chamadas de API,
|
# Configuração otimizada com cache para arquivos estáticos, visando melhorar o
|
||||||
# que impedia o funcionamento correto da interface ao trocar de site.
|
# desempenho e reduzir a carga no backend do UniFi Controller.
|
||||||
#
|
#
|
||||||
# MELHORIAS DESTA VERSÃO:
|
# MELHORIAS DESTA VERSÃO:
|
||||||
# - CORREÇÃO (Erro 403 Forbidden): Adicionados os cabeçalhos 'Origin' e 'Referer'
|
# - OTIMIZAÇÃO (CACHE): Foram adicionados blocos 'location' específicos para
|
||||||
# no proxy_pass. O backend do UniFi usa esses headers como uma medida de segurança
|
# arquivos estáticos (.js, .css, imagens, fontes).
|
||||||
# CSRF. Sem eles, requisições que modificam dados (como PUT para /api/self)
|
# - ESTRATÉGIA DE CACHE:
|
||||||
# são rejeitadas. Com essa mudança, o NGINX garante que o backend confie
|
# - Assets com hash no nome (ex: app.a1b2c3d4.js) são considerados imutáveis
|
||||||
# nas requisições vindas do proxy. ESTA É A MUDANÇA CRUCIAL.
|
# e recebem um cache agressivo de longa duração no navegador.
|
||||||
# - ESTRUTURA: Mantida a separação de 'location' para Web e WebSockets, que é a
|
# - Assets comuns recebem um cache padrão.
|
||||||
# prática mais robusta e já se provou funcional para as conexões em tempo real.
|
# - 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;
|
proxy_ssl_verify off;
|
||||||
include /etc/nginx/snippets/proxy_params.conf;
|
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 / {
|
location / {
|
||||||
proxy_pass https://unifi_backend_web;
|
proxy_pass https://unifi_backend_web;
|
||||||
|
|
||||||
|
|
@ -73,14 +91,11 @@ server {
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
proxy_set_header Origin "";
|
||||||
# !! 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 Referer $scheme://$host/;
|
proxy_set_header Referer $scheme://$host/;
|
||||||
}
|
}
|
||||||
|
|
||||||
# --- ROTA DEDICADA PARA WEBSOCKETS ---
|
# --- ROTA DEDICADA PARA WEBSOCKETS (SEM CACHE) ---
|
||||||
location /wss/ {
|
location /wss/ {
|
||||||
proxy_pass https://unifi_backend_web;
|
proxy_pass https://unifi_backend_web;
|
||||||
|
|
||||||
|
|
@ -97,7 +112,6 @@ server {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
# BLOCO 3: Servidor para o "Inform" dos Dispositivos (HTTP na porta 8080)
|
# BLOCO 3: Servidor para o "Inform" dos Dispositivos (HTTP na porta 8080)
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue