[Auto-Sync] Atualização das configurações em srvproxy001.itguys.com.br - 2025-09-22 11:01:53
This commit is contained in:
parent
9d95177037
commit
d27abc312c
|
|
@ -1,55 +1,52 @@
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
# ARQUIVO DE CONFIGURAÇÃO NGINX PARA NEXTCLOUD
|
# ARQUIVO DE CONFIGURAÇÃO NGINX PARA NEXTCLOUD E OFFICE ONLINE
|
||||||
# DOMÍNIO: cloud.grupopralog.com.br
|
# DOMÍNIO: cloud.grupopralog.com.br
|
||||||
# AUTOR: Gemini AI (Especialista NGINX)
|
# AUTOR: Gemini AI (Especialista NGINX)
|
||||||
# VERSÃO: 2.0
|
# VERSÃO: 2.1
|
||||||
#
|
#
|
||||||
# DESCRIÇÃO:
|
# DESCRIÇÃO:
|
||||||
# Esta configuração atua como um proxy reverso seguro e otimizado para uma
|
# Esta configuração atua como um proxy reverso seguro e otimizado para uma
|
||||||
# instância do Nextcloud.
|
# instância do Nextcloud com integração a um servidor Office Online
|
||||||
|
# (como Collabora Online ou OnlyOffice).
|
||||||
#
|
#
|
||||||
# DESTAQUES DA CONFIGURAÇÃO:
|
# DESTAQUES DA CONFIGURAÇÃO (Versão 2.1):
|
||||||
# - A. UPSTREAM DO NEXTCLOUD: Centraliza a definição do servidor backend
|
# - I. UPSTREAM DO OFFICE ONLINE: Adicionado um novo upstream para o servidor
|
||||||
# para facilitar a manutenção.
|
# do Office, facilitando a manutenção.
|
||||||
# - B. REDIRECIONAMENTO HTTP PARA HTTPS: Garante que todo o tráfego não
|
# - J. ROTAS DO OFFICE ONLINE: Adicionadas novas seções `location` para
|
||||||
# seguro seja permanentemente redirecionado para HTTPS.
|
# redirecionar as requisições específicas do Office (/hosting/discovery,
|
||||||
# - C. SERVIDOR PRINCIPAL HTTPS: O bloco principal que gerencia todo o tráfego
|
# /hosting/wopi, /op/) para o backend correto, garantindo o
|
||||||
# seguro, habilitando SSL/TLS e HTTP/2.
|
# funcionamento da integração.
|
||||||
# - D. PARÂMETROS DE SSL/TLS E SEGURANÇA: Carrega os certificados e inclui um
|
# - K. SUPORTE A WEBSOCKET: As rotas do Office incluem a configuração
|
||||||
# snippet com parâmetros de segurança robustos (HSTS, Ciphers, etc.).
|
# necessária para o funcionamento de WebSockets, essencial para a
|
||||||
# Adiciona cabeçalhos de segurança recomendados pelo Nextcloud.
|
# edição colaborativa em tempo real.
|
||||||
# - E. PARÂMETROS GERAIS DO SERVIDOR: Define o tamanho máximo para upload de
|
|
||||||
# arquivos e configura os logs de acesso e erro.
|
|
||||||
# - F. CABEÇALHOS DE PROXY (PROXY HEADERS): Adiciona/modifica cabeçalhos HTTP
|
|
||||||
# essenciais para que o Nextcloud (backend) receba as informações corretas
|
|
||||||
# sobre o cliente original (IP, protocolo, host).
|
|
||||||
# - G. TRATAMENTO DE URLS AMIGÁVEIS (PRETTY URLS): Implementa as regras de
|
|
||||||
# reescrita (`rewrite`) necessárias para remover o "index.php" das URLs,
|
|
||||||
# tornando-as mais limpas e amigáveis.
|
|
||||||
# - H. ROTAS ESPECÍFICAS (LOCATIONS):
|
|
||||||
# H.1. /.well-known/*: Rota padrão para validação de certificados (Let's
|
|
||||||
# Encrypt) e para os redirecionamentos de CalDAV e CardDAV, conforme
|
|
||||||
# as melhores práticas.
|
|
||||||
# H.2. Rota Principal (/): O bloco principal que captura todas as outras
|
|
||||||
# requisições e as encaminha para o backend Nextcloud.
|
|
||||||
#
|
#
|
||||||
# NOTA SOBRE CACHE:
|
# DESTAQUES ANTERIORES:
|
||||||
# A configuração anterior tentava implementar um cache privado para a interface
|
# - A. UPSTREAM DO NEXTCLOUD: Centraliza a definição do servidor backend.
|
||||||
# do Nextcloud. Essa é uma prática arriscada e não recomendada oficialmente,
|
# - B. REDIRECIONAMENTO HTTP PARA HTTPS: Garante tráfego seguro.
|
||||||
# pois pode facilmente vazar dados de sessão entre usuários se a chave de cache
|
# - C. SERVIDOR PRINCIPAL HTTPS: Bloco principal com SSL/TLS e HTTP/2.
|
||||||
# não for perfeita. Removemos essa lógica em favor da estabilidade e segurança.
|
# - D. PARÂMETROS DE SSL/TLS E SEGURANÇA: Configurações robustas de segurança.
|
||||||
# O cache de assets estáticos deve ser gerenciado pelo próprio Nextcloud ou
|
# - E. PARÂMETROS GERAIS DO SERVIDOR: Limite de upload e logs.
|
||||||
# por um CDN, se necessário.
|
# - F. CABEÇALHOS DE PROXY (PROXY HEADERS): Informações corretas para o backend.
|
||||||
|
# - G. TRATAMENTO DE URLS AMIGÁVEIS (PRETTY URLS): URLs limpas.
|
||||||
|
# - H. ROTAS ESPECÍFICAS (LOCATIONS): Para CalDAV, CardDAV e a aplicação.
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
# A. UPSTREAM DO NEXTCLOUD
|
# A. UPSTREAM DO NEXTCLOUD
|
||||||
# Define o servidor backend onde o Nextcloud está rodando.
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
upstream nextcloud_backend {
|
upstream nextcloud_backend {
|
||||||
server 172.16.253.12;
|
server 172.16.253.12;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# I. UPSTREAM DO OFFICE ONLINE (NOVO)
|
||||||
|
# Define o servidor backend onde o Office Online (Collabora/OnlyOffice) está rodando.
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
upstream office_backend {
|
||||||
|
server 172.16.253.101;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
# B. BLOCO HTTP: Redirecionar para HTTPS
|
# B. BLOCO HTTP: Redirecionar para HTTPS
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
|
|
@ -80,11 +77,10 @@ server {
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
# D. PARÂMETROS DE SSL/TLS E SEGURANÇA
|
# D. PARÂMETROS DE SSL/TLS E SEGURANÇA
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
ssl_certificate /etc/letsencrypt/live/cloud.grupopralog.com.br/fullchain.pem; # managed by Certbot
|
ssl_certificate /etc/letsencrypt/live/cloud.grupopralog.com.br/fullchain.pem;
|
||||||
ssl_certificate_key /etc/letsencrypt/live/cloud.grupopralog.com.br/privkey.pem; # managed by Certbot
|
ssl_certificate_key /etc/letsencrypt/live/cloud.grupopralog.com.br/privkey.pem;
|
||||||
include /etc/nginx/snippets/ssl_params.conf; # Carrega parâmetros de segurança (HSTS, Ciphers, etc.)
|
include /etc/nginx/snippets/ssl_params.conf;
|
||||||
|
|
||||||
# Cabeçalhos de segurança recomendados pelo Nextcloud
|
|
||||||
add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always;
|
add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always;
|
||||||
add_header X-Content-Type-Options nosniff always;
|
add_header X-Content-Type-Options nosniff always;
|
||||||
add_header X-Frame-Options "SAMEORIGIN" always;
|
add_header X-Frame-Options "SAMEORIGIN" always;
|
||||||
|
|
@ -95,7 +91,7 @@ server {
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
# E. PARÂMETROS GERAIS DO SERVIDOR
|
# E. PARÂMETROS GERAIS DO SERVIDOR
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
client_max_body_size 10G; # Permite uploads de até 10GB
|
client_max_body_size 10G;
|
||||||
access_log /var/log/nginx/access.log detailed_proxy;
|
access_log /var/log/nginx/access.log detailed_proxy;
|
||||||
error_log /var/log/nginx/error.log;
|
error_log /var/log/nginx/error.log;
|
||||||
include /etc/nginx/snippets/custom_errors.conf;
|
include /etc/nginx/snippets/custom_errors.conf;
|
||||||
|
|
@ -109,14 +105,52 @@ server {
|
||||||
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; }
|
||||||
|
|
||||||
# H.2. Rota Principal da Aplicação
|
# --------------------------------------------------------------------------
|
||||||
|
# J. ROTAS DO OFFICE ONLINE (NOVO)
|
||||||
|
# Estas rotas capturam as requisições para o Office e as encaminham
|
||||||
|
# para o backend correto, em vez de irem para o Nextcloud.
|
||||||
|
# É crucial que elas venham ANTES da rota principal "location /".
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# J.1. Rota de descoberta do serviço Office (discovery)
|
||||||
|
location ^~ /hosting/discovery {
|
||||||
|
proxy_pass http://office_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;
|
||||||
|
}
|
||||||
|
|
||||||
|
# J.2. Rota WOPI para manipulação de arquivos
|
||||||
|
location ^~ /hosting/wopi/ {
|
||||||
|
proxy_pass http://office_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;
|
||||||
|
}
|
||||||
|
|
||||||
|
# J.3. Rota da interface e comunicação WebSocket
|
||||||
|
# (o caminho pode ser /lool/ ou /op/ dependendo da versão)
|
||||||
|
location ^~ /op/ {
|
||||||
|
proxy_pass http://office_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;
|
||||||
|
|
||||||
|
# K. Habilita suporte a WebSocket, essencial para edição em tempo real
|
||||||
|
include /etc/nginx/snippets/websocket_params.conf;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# H.2. Rota Principal da Aplicação Nextcloud
|
||||||
location / {
|
location / {
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
# G. TRATAMENTO DE URLS AMIGÁVEIS (PRETTY URLS)
|
# G. TRATAMENTO DE URLS AMIGÁVEIS (PRETTY URLS)
|
||||||
# Estas regras reescrevem as URLs para remover o "index.php".
|
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
rewrite ^\/\.well-known\/(card|cal)dav /remote.php/dav/ permanent;
|
rewrite ^\/\.well-known\/(card|cal)dav /remote.php/dav/ permanent;
|
||||||
rewrite ^(\/remote\/.+)(\/)$ $1 permanent; # Remove a barra final de URLs do remote
|
rewrite ^(\/remote\/.+)(\/)$ $1 permanent;
|
||||||
|
|
||||||
# Passa a requisição para o backend
|
# Passa a requisição para o backend
|
||||||
proxy_pass http://nextcloud_backend;
|
proxy_pass http://nextcloud_backend;
|
||||||
|
|
@ -134,9 +168,9 @@ server {
|
||||||
# Parâmetros adicionais de proxy
|
# Parâmetros adicionais de proxy
|
||||||
proxy_http_version 1.1;
|
proxy_http_version 1.1;
|
||||||
proxy_connect_timeout 60s;
|
proxy_connect_timeout 60s;
|
||||||
proxy_read_timeout 3600s; # Essencial para sync de arquivos grandes
|
proxy_read_timeout 3600s;
|
||||||
proxy_send_timeout 3600s;
|
proxy_send_timeout 3600s;
|
||||||
proxy_buffering off; # Recomendado para uploads/downloads grandes
|
proxy_buffering off;
|
||||||
proxy_request_buffering off;
|
proxy_request_buffering off;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue