[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
|
||||
# AUTOR: Gemini AI (Especialista NGINX)
|
||||
# VERSÃO: 2.0
|
||||
# VERSÃO: 2.1
|
||||
#
|
||||
# DESCRIÇÃO:
|
||||
# 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:
|
||||
# - A. UPSTREAM DO NEXTCLOUD: Centraliza a definição do servidor backend
|
||||
# para facilitar a manutenção.
|
||||
# - B. REDIRECIONAMENTO HTTP PARA HTTPS: Garante que todo o tráfego não
|
||||
# seguro seja permanentemente redirecionado para HTTPS.
|
||||
# - C. SERVIDOR PRINCIPAL HTTPS: O bloco principal que gerencia todo o tráfego
|
||||
# seguro, habilitando SSL/TLS e HTTP/2.
|
||||
# - D. PARÂMETROS DE SSL/TLS E SEGURANÇA: Carrega os certificados e inclui um
|
||||
# snippet com parâmetros de segurança robustos (HSTS, Ciphers, etc.).
|
||||
# Adiciona cabeçalhos de segurança recomendados pelo Nextcloud.
|
||||
# - 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.
|
||||
# DESTAQUES DA CONFIGURAÇÃO (Versão 2.1):
|
||||
# - I. UPSTREAM DO OFFICE ONLINE: Adicionado um novo upstream para o servidor
|
||||
# do Office, facilitando a manutenção.
|
||||
# - J. ROTAS DO OFFICE ONLINE: Adicionadas novas seções `location` para
|
||||
# redirecionar as requisições específicas do Office (/hosting/discovery,
|
||||
# /hosting/wopi, /op/) para o backend correto, garantindo o
|
||||
# funcionamento da integração.
|
||||
# - K. SUPORTE A WEBSOCKET: As rotas do Office incluem a configuração
|
||||
# necessária para o funcionamento de WebSockets, essencial para a
|
||||
# edição colaborativa em tempo real.
|
||||
#
|
||||
# NOTA SOBRE CACHE:
|
||||
# A configuração anterior tentava implementar um cache privado para a interface
|
||||
# do Nextcloud. Essa é uma prática arriscada e não recomendada oficialmente,
|
||||
# pois pode facilmente vazar dados de sessão entre usuários se a chave de cache
|
||||
# não for perfeita. Removemos essa lógica em favor da estabilidade e segurança.
|
||||
# O cache de assets estáticos deve ser gerenciado pelo próprio Nextcloud ou
|
||||
# por um CDN, se necessário.
|
||||
# DESTAQUES ANTERIORES:
|
||||
# - A. UPSTREAM DO NEXTCLOUD: Centraliza a definição do servidor backend.
|
||||
# - B. REDIRECIONAMENTO HTTP PARA HTTPS: Garante tráfego seguro.
|
||||
# - C. SERVIDOR PRINCIPAL HTTPS: Bloco principal com SSL/TLS e HTTP/2.
|
||||
# - D. PARÂMETROS DE SSL/TLS E SEGURANÇA: Configurações robustas de segurança.
|
||||
# - E. PARÂMETROS GERAIS DO SERVIDOR: Limite de upload e logs.
|
||||
# - 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
|
||||
# Define o servidor backend onde o Nextcloud está rodando.
|
||||
# ------------------------------------------------------------------------------
|
||||
upstream nextcloud_backend {
|
||||
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
|
||||
# ==============================================================================
|
||||
|
|
@ -80,11 +77,10 @@ server {
|
|||
# --------------------------------------------------------------------------
|
||||
# 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_key /etc/letsencrypt/live/cloud.grupopralog.com.br/privkey.pem; # managed by Certbot
|
||||
include /etc/nginx/snippets/ssl_params.conf; # Carrega parâmetros de segurança (HSTS, Ciphers, etc.)
|
||||
ssl_certificate /etc/letsencrypt/live/cloud.grupopralog.com.br/fullchain.pem;
|
||||
ssl_certificate_key /etc/letsencrypt/live/cloud.grupopralog.com.br/privkey.pem;
|
||||
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 X-Content-Type-Options nosniff always;
|
||||
add_header X-Frame-Options "SAMEORIGIN" always;
|
||||
|
|
@ -95,7 +91,7 @@ server {
|
|||
# --------------------------------------------------------------------------
|
||||
# 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;
|
||||
error_log /var/log/nginx/error.log;
|
||||
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/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 / {
|
||||
# ----------------------------------------------------------------------
|
||||
# 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 ^(\/remote\/.+)(\/)$ $1 permanent; # Remove a barra final de URLs do remote
|
||||
rewrite ^(\/remote\/.+)(\/)$ $1 permanent;
|
||||
|
||||
# Passa a requisição para o backend
|
||||
proxy_pass http://nextcloud_backend;
|
||||
|
|
@ -134,9 +168,9 @@ server {
|
|||
# Parâmetros adicionais de proxy
|
||||
proxy_http_version 1.1;
|
||||
proxy_connect_timeout 60s;
|
||||
proxy_read_timeout 3600s; # Essencial para sync de arquivos grandes
|
||||
proxy_read_timeout 3600s;
|
||||
proxy_send_timeout 3600s;
|
||||
proxy_buffering off; # Recomendado para uploads/downloads grandes
|
||||
proxy_buffering off;
|
||||
proxy_request_buffering off;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue