[Auto-Sync] Atualização das configurações em srvproxy001.itguys.com.br - 2025-11-11 01:10:46

This commit is contained in:
srvproxy001.itguys.com.br 2025-11-11 01:10:46 -03:00
parent 9c13ea4016
commit 2e1dab0a64
1 changed files with 172 additions and 42 deletions

View File

@ -25,6 +25,10 @@ upstream officeonline_backend {
server 172.16.253.101; server 172.16.253.101;
} }
upstream windmill_backend {
server 172.16.253.103:8000;
}
server { server {
listen 80; listen 80;
listen [::]:80; listen [::]:80;
@ -169,26 +173,26 @@ server {
gzip_static on; gzip_static on;
} }
location ~ ^/(remote\.php/(webdav|dav)|ocs/v[12]\.php/apps/forms/api/.*/submissions/files/.*) { #location ~ ^/(remote\.php/(webdav|dav)|ocs/v[12]\.php/apps/forms/api/.*/submissions/files/.*) {
proxy_pass http://nextcloud_backend; # proxy_pass http://nextcloud_backend;
proxy_set_header Host $host; # proxy_set_header Host $host;
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 X-Forwarded-Host $host; # proxy_set_header X-Forwarded-Host $host;
#
# proxy_http_version 1.1;
# proxy_set_header Connection "";
proxy_http_version 1.1; # # Desabilita o buffering para streaming de arquivos
proxy_set_header Connection ""; # proxy_buffering off;
# proxy_request_buffering off;
# Desabilita o buffering para streaming de arquivos #
proxy_buffering off; # # Timeouts longos para uploads/downloads
proxy_request_buffering off; # proxy_connect_timeout 60s;
# proxy_read_timeout 1200s;
# Timeouts longos para uploads/downloads # proxy_send_timeout 1200s;
proxy_connect_timeout 60s; #}
proxy_read_timeout 1200s;
proxy_send_timeout 1200s;
}
location = /ocs/v2.php/apps/recommendations/api/v1/recommendations { location = /ocs/v2.php/apps/recommendations/api/v1/recommendations {
proxy_pass http://nextcloud_backend; proxy_pass http://nextcloud_backend;
@ -207,7 +211,7 @@ server {
more_set_headers 'X-API-Rec-Cache: $upstream_cache_status'; more_set_headers 'X-API-Rec-Cache: $upstream_cache_status';
} }
location = /apps/files/api/v1/folder-tree { location ~ ^/(apps/files/api/v1/folder-tree|ocs/v2\.php/apps/files/api/v1/folder-tree) {
proxy_pass http://nextcloud_backend; proxy_pass http://nextcloud_backend;
proxy_set_header Host $host; proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;
@ -215,12 +219,26 @@ server {
proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1; proxy_http_version 1.1;
proxy_set_header Connection ""; proxy_set_header Connection "";
proxy_buffering on; proxy_buffering on;
# Usar a zona de cache 'foldertree_cache' que você já tinha, ou a 'nextcloud_cache'
proxy_cache foldertree_cache; proxy_cache foldertree_cache;
proxy_cache_key "$scheme$request_method$host$request_uri$is_args$args$cookie_nc_session_id"; proxy_cache_key "$scheme$request_method$host$request_uri$is_args$args$cookie_nc_session_id";
# Cache de 3 segundos
proxy_cache_valid 200 3s; proxy_cache_valid 200 3s;
proxy_cache_lock on; proxy_cache_lock on;
proxy_cache_use_stale error timeout http_500 http_502 http_503 http_504; proxy_cache_use_stale error timeout http_500 http_502 http_503 http_504;
# Ignora "no-cache" do backend
proxy_ignore_headers "Cache-Control" "Expires" "Pragma";
proxy_hide_header "Cache-Control";
proxy_hide_header "Pragma";
proxy_hide_header "Expires";
add_header Cache-Control "public, max-age=3";
# Header de depuração
more_set_headers 'X-FolderTree-Cache: $upstream_cache_status'; more_set_headers 'X-FolderTree-Cache: $upstream_cache_status';
} }
@ -240,27 +258,139 @@ server {
more_set_headers 'X-APIMicroCache-Status: $upstream_cache_status'; more_set_headers 'X-APIMicroCache-Status: $upstream_cache_status';
} }
# location ~ ^/remote\.php/(webdav|dav)/ { location ~ ^/(remote\.php/(webdav|dav)|ocs/v[12]\.php/apps/forms/api/.*/submissions/files/.*) {
# proxy_pass http://nextcloud_backend; proxy_pass http://nextcloud_backend;
# proxy_set_header Host $host; proxy_set_header Host $host;
# 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 X-Forwarded-Host $host; proxy_set_header X-Forwarded-Host $host;
# proxy_http_version 1.1;
# proxy_http_version 1.1; proxy_set_header Connection "";
# proxy_set_header Connection "";
# # --- Lógica de Cache vs. Streaming ---
# # Habilita o streaming de arquivos grandes para o backend
# # sem bufferizar o corpo inteiro da requisição no Nginx. # 1. Por padrão, desabilitamos o buffering para streaming (uploads/downloads)
# proxy_buffering off; proxy_buffering off;
# proxy_request_buffering off; proxy_request_buffering off;
#
# # Timeouts longos para uploads/downloads grandes # 2. SE for um PROPFIND (listagem de diretório), ligamos o buffering e o cache
# proxy_connect_timeout 60s; if ($request_method = PROPFIND) {
# proxy_read_timeout 1200s; proxy_buffering on;
# proxy_send_timeout 1200s; proxy_request_buffering on; # Necessário para o cache
#}
proxy_cache nextcloud_cache; # Usar a zona de cache
# IMPORTANTE: Autorizar cache do método PROPFIND
proxy_cache_methods PROPFIND;
# Chave de cache por usuário/sessão
proxy_cache_key "$host$request_uri|$cookie_nc_session_id";
# Cache de 10 segundos para listagens de pasta (status 200 e 207)
proxy_cache_valid 200 207 10s;
proxy_cache_lock on;
proxy_cache_use_stale error timeout http_500 http_502 http_503 http_504;
# Header para depuração
more_set_headers 'X-DAV-Cache: $upstream_cache_status';
# Ignorar "no-cache" do backend para PROPFIND
proxy_ignore_headers "Cache-Control" "Expires" "Pragma";
proxy_hide_header "Cache-Control";
proxy_hide_header "Pragma";
proxy_hide_header "Expires";
add_header Cache-Control "public, max-age=10";
}
# Timeouts longos (mantém para uploads/downloads)
proxy_connect_timeout 60s;
proxy_read_timeout 1200s;
proxy_send_timeout 1200s;
}
location ~ ^/(apps/tables/(api|row|share)|index\.php/apps/tables/api/1|ocs/v2\.php/apps/tables/api/2) {
proxy_pass http://nextcloud_backend;
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_set_header X-Forwarded-Host $host;
proxy_http_version 1.1;
proxy_set_header Connection "";
# Habilita buffering para cache
proxy_buffering on;
# Define a chave de cache por usuário (baseado no cookie de sessão)
proxy_cache nextcloud_cache;
proxy_cache_key "$host$request_uri|$cookie_nc_session_id";
# Cache de 3 segundos para dados dinâmicos.
# Isso agrupa requisições idênticas feitas durante o carregamento da página.
proxy_cache_valid 200 3s;
# Trava o cache para evitar que múltiplas requisições batam no backend (Thundering Herd)
proxy_cache_lock on;
# Entrega conteúdo antigo se o backend falhar
proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
# Força o Nginx a IGNORAR os headers "não-cacheie" (no-cache, no-store) vindos do Nextcloud
proxy_ignore_headers "Cache-Control" "Expires" "Pragma";
# Esconde os headers originais do backend para o cliente
proxy_hide_header "Cache-Control";
proxy_hide_header "Pragma";
proxy_hide_header "Expires";
# Adiciona nosso próprio header de cache para o navegador (3 segundos)
add_header Cache-Control "public, max-age=3";
# Header para depuração (para vermos se o cache funcionou)
more_set_headers 'X-Tables-Cache: $upstream_cache_status';
}
location ~ ^/(index\.php/apps/files/api/v1/thumbnail/|ocs/v2\.php/apps/files/api/v1/(directEditing|templates|folder-tree)) {
proxy_pass http://nextcloud_backend;
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_set_header X-Forwarded-Host $host;
proxy_http_version 1.1;
proxy_set_header Connection "";
# Habilita buffering para cache
proxy_buffering on;
# Reutiliza a zona de cache principal
proxy_cache nextcloud_cache;
proxy_cache_key "$host$request_uri|$cookie_nc_session_id";
# Cache de 3 segundos (bom para APIs)
# Nota: Você poderia criar um cache mais longo (ex: 1h)
# se o /thumbnail/ for muito usado, mas 3s é seguro.
proxy_cache_valid 200 3s;
# Trava o cache (Thundering Herd)
proxy_cache_lock on;
# Entrega conteúdo antigo se o backend falhar
proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
# Ignora headers "não-cacheie"
proxy_ignore_headers "Cache-Control" "Expires" "Pragma";
# Esconde os headers originais
proxy_hide_header "Cache-Control";
proxy_hide_header "Pragma";
proxy_hide_header "Expires";
# Adiciona nosso header de cache (3 segundos)
add_header Cache-Control "public, max-age=3";
# Header para depuração
more_set_headers 'X-Files-API-Cache: $upstream_cache_status';
}
location / { location / {
proxy_pass http://nextcloud_backend; proxy_pass http://nextcloud_backend;