[Auto-Sync] Atualização das configurações em srvproxy001.itguys.com.br - 2025-09-18 20:45:23
This commit is contained in:
parent
9fb028a5a3
commit
10b14f4bb6
|
|
@ -1,7 +1,7 @@
|
||||||
# Ficheiro: /etc/nginx/sites-available/cloud.grupopralog.com.br.conf
|
# Ficheiro: /etc/nginx/sites-available/cloud.grupopralog.com.br.conf
|
||||||
#
|
#
|
||||||
# Configuração de Proxy Reverso de ALTA PERFORMANCE para Nextcloud,
|
# Configuração de Proxy Reverso de ALTA PERFORMANCE para Nextcloud,
|
||||||
# incluindo cache privado e de curta duração para a interface.
|
# incluindo cache agressivo para ficheiros estáticos e para as miniaturas (previews).
|
||||||
|
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
# BLOCO HTTP: Redirecionar para HTTPS
|
# BLOCO HTTP: Redirecionar para HTTPS
|
||||||
|
|
@ -37,19 +37,44 @@ server {
|
||||||
client_max_body_size 10G;
|
client_max_body_size 10G;
|
||||||
|
|
||||||
# --- REGRAS DE ROTEAMENTO (LOCATIONS) ---
|
# --- REGRAS DE ROTEAMENTO (LOCATIONS) ---
|
||||||
|
# A ordem destas regras é CRUCIAL.
|
||||||
|
|
||||||
# 1. Redirecionamentos para CalDAV e CardDAV
|
# 1. Redirecionamentos para CalDAV e CardDAV
|
||||||
location = /.well-known/carddav { return 301 $scheme://$host/remote.php/dav; }
|
location = /.well-known/carddav { return 301 $scheme://$host/remote.php/dav; }
|
||||||
location = /.well-known/caldav { return 301 $scheme://$host/remote.php/dav; }
|
location = /.well-known/caldav { return 301 $scheme://$host/remote.php/dav; }
|
||||||
|
|
||||||
# 2. Rota para Ficheiros Estáticos (Cache Agressivo)
|
# 2. Bloqueia o acesso a diretórios sensíveis.
|
||||||
|
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ { deny all; }
|
||||||
|
location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { deny all; }
|
||||||
|
|
||||||
|
# --- A NOVA REGRA DE CACHE PARA PREVIEWS ---
|
||||||
|
# 3. Rota para as Miniaturas de Ficheiros (Cache Agressivo)
|
||||||
|
location = /index.php/core/preview {
|
||||||
|
# Usa a nossa nova zona de cache dedicada para as miniaturas.
|
||||||
|
proxy_cache nextcloud_previews;
|
||||||
|
# A chave de cache inclui todos os argumentos da URL (fileId, x, y, etc.)
|
||||||
|
proxy_cache_key "$scheme$proxy_host$request_uri";
|
||||||
|
# Define que as miniaturas válidas ficam no cache por 24 horas.
|
||||||
|
proxy_cache_valid 200 24h;
|
||||||
|
# Ativa o cache para esta localização.
|
||||||
|
proxy_no_cache 0;
|
||||||
|
proxy_cache_bypass 0;
|
||||||
|
|
||||||
|
# Adiciona um cabeçalho para podermos depurar este cache.
|
||||||
|
add_header X-Preview-Cache $upstream_cache_status;
|
||||||
|
|
||||||
|
include /etc/nginx/snippets/proxy_params.conf;
|
||||||
|
proxy_pass http://172.16.253.12;
|
||||||
|
}
|
||||||
|
|
||||||
|
# 4. Rota para Ficheiros Estáticos (Cache Agressivo)
|
||||||
location ~* \.(?:css|js|mjs|svg|gif|png|jpg|jpeg|ico|wasm|woff2?|ttf|eot)$ {
|
location ~* \.(?:css|js|mjs|svg|gif|png|jpg|jpeg|ico|wasm|woff2?|ttf|eot)$ {
|
||||||
include /etc/nginx/snippets/proxy_params.conf;
|
include /etc/nginx/snippets/proxy_params.conf;
|
||||||
include /etc/nginx/snippets/cache_static_assets.conf;
|
include /etc/nginx/snippets/cache_static_assets.conf;
|
||||||
proxy_pass http://172.16.253.12;
|
proxy_pass http://172.16.253.12;
|
||||||
}
|
}
|
||||||
|
|
||||||
# 3. Rota para Sincronização de Ficheiros (WebDAV, etc.) - SEM CACHE
|
# 5. Rota para Sincronização de Ficheiros (WebDAV, etc.) - SEM CACHE
|
||||||
location ~ ^/(remote|dav|carddav|caldav) {
|
location ~ ^/(remote|dav|carddav|caldav) {
|
||||||
proxy_no_cache 1;
|
proxy_no_cache 1;
|
||||||
proxy_cache_bypass 1;
|
proxy_cache_bypass 1;
|
||||||
|
|
@ -60,33 +85,12 @@ server {
|
||||||
proxy_pass http://172.16.253.12;
|
proxy_pass http://172.16.253.12;
|
||||||
}
|
}
|
||||||
|
|
||||||
# 4. Rota Principal para a Aplicação (CACHE PRIVADO DE CURTA DURAÇÃO)
|
# 6. Rota Principal para a Aplicação (SEM CACHE, com WebSockets)
|
||||||
location / {
|
location / {
|
||||||
# Usa a nossa zona de cache dedicada 'nextcloud_private_cache'.
|
proxy_no_cache 1;
|
||||||
proxy_cache nextcloud_private_cache;
|
proxy_cache_bypass 1;
|
||||||
|
|
||||||
# A "CHAVE" PESSOAL DE CADA UTILIZADOR, CONFIRMADA A PARTIR DO SEU SCREENSHOT.
|
|
||||||
# Usa a variável $cookie_NOME_DO_COOKIE para extrair o valor.
|
|
||||||
proxy_cache_key "$scheme$proxy_host$request_uri$cookie_ocrx6w0vy907";
|
|
||||||
|
|
||||||
# Cacheia por um tempo muito curto: 1 minuto.
|
|
||||||
proxy_cache_valid 200 1m;
|
|
||||||
|
|
||||||
# Ignora e esconde os cabeçalhos de sessão para permitir o cache.
|
|
||||||
proxy_ignore_headers Expires Cache-Control Set-Cookie;
|
|
||||||
proxy_hide_header Set-Cookie;
|
|
||||||
|
|
||||||
# Adiciona um cabeçalho de depuração para este cache.
|
|
||||||
add_header X-Private-Cache $upstream_cache_status;
|
|
||||||
|
|
||||||
# O cache SÓ é usado para requisições GET. POST, PUT, DELETE, etc., são passadas diretamente.
|
|
||||||
proxy_cache_methods GET HEAD;
|
|
||||||
|
|
||||||
include /etc/nginx/snippets/proxy_params.conf;
|
include /etc/nginx/snippets/proxy_params.conf;
|
||||||
include /etc/nginx/snippets/websocket_params.conf;
|
include /etc/nginx/snippets/websocket_params.conf;
|
||||||
|
|
||||||
proxy_pass http://172.16.253.12;
|
proxy_pass http://172.16.253.12;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue