[Auto-Sync] Atualização das configurações em srvproxy001.itguys.com.br - 2025-10-06 12:02:30

This commit is contained in:
srvproxy001.itguys.com.br 2025-10-06 12:02:30 -03:00
parent 284f4b5128
commit f31eeecf28
1 changed files with 28 additions and 39 deletions

View File

@ -1,25 +1,23 @@
# ============================================================================== # ==============================================================================
# Arquivo de configuração NGINX para: vcenter.itguys.com.br # Arquivo de configuração NGINX para: vcenter.itguys.com.br
# Data da Criação/Modificação: 2025-10-06 11:14 # Data da Modificação: 2025-10-06 12:00
# #
# Contexto: # Contexto:
# Este arquivo atua como um reverse proxy seguro para o VMware vCenter Server. # Versão final e corrigida.
# Ele inclui: # - Proxy reverso de HTTPS (cliente) para HTTPS (backend vCenter).
# - Redirecionamento de HTTP para HTTPS. # - Resolve o loop de redirect e o erro 502 Bad Gateway.
# - Configurações de SSL/TLS modernas e seguras (nota A+ no SSL Labs). # - Inclui diretivas para confiar no certificado auto-assinado do vCenter.
# - Suporte nativo para WebSockets, essencial para o client HTML5 do vCenter. # - Preparado para certificados Let's Encrypt.
# - Cabeçalhos de segurança para mitigar ataques (XSS, Clickjacking).
# - Bloco de cache para arquivos estáticos para otimizar a performance da UI.
# - Regras básicas para bloquear scanners e bots maliciosos.
# - Logs dedicados para monitoramento e integração com Fail2ban.
# ============================================================================== # ==============================================================================
# Define o servidor backend do vCenter para facilitar a manutenção # Define o servidor backend do vCenter para facilitar a manutenção
upstream vcenter_backend { upstream vcenter_backend {
# Aponta para a porta HTTPS do vCenter
server 172.16.254.110:443; server 172.16.254.110:443;
} }
# Servidor para redirecionamento de HTTP para HTTPS (Porta 80) # Servidor para redirecionamento de HTTP para HTTPS (Porta 80)
# O Certbot (Let's Encrypt) usará este bloco para validação.
server { server {
listen 80; listen 80;
listen [::]:80; listen [::]:80;
@ -36,59 +34,50 @@ server {
server_name vcenter.itguys.com.br; server_name vcenter.itguys.com.br;
# --- Logs --- # --- Logs ---
# Arquivos de log exclusivos para este site, facilitando o monitoramento e debug. access_log /var/log/nginx/vcenter.itguys.com.br.access.log;
access_log /var/log/nginx/vcenter.itguys.com.br.access.log detailed_proxy;
error_log /var/log/nginx/vcenter.itguys.com.br.error.log warn; error_log /var/log/nginx/vcenter.itguys.com.br.error.log warn;
# --- Configurações de SSL/TLS --- # --- Configurações de SSL/TLS (Let's Encrypt) ---
# Caminhos para os certificados. SUBSTITUA PELOS SEUS CAMINHOS CORRETOS. # O Certbot irá criar e preencher estes caminhos automaticamente.
# Recomenda-se usar Let's Encrypt / Certbot.
#ssl_certificate /etc/letsencrypt/live/vcenter.itguys.com.br/fullchain.pem; #ssl_certificate /etc/letsencrypt/live/vcenter.itguys.com.br/fullchain.pem;
#ssl_certificate_key /etc/letsencrypt/live/vcenter.itguys.com.br/privkey.pem; #ssl_certificate_key /etc/letsencrypt/live/vcenter.itguys.com.br/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
# Otimizações de SSL/TLS baseadas nas melhores práticas (ssllabs.com/research) ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256';
ssl_session_timeout 1d;
ssl_session_tickets off;
# OCSP Stapling - Melhora a performance do handshake TLS
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/letsencrypt/live/vcenter.itguys.com.br/chain.pem; # Use o chain.pem para validação
# --- Cabeçalhos de Segurança --- # --- Cabeçalhos de Segurança ---
# Adiciona uma camada extra de proteção no navegador do cliente. add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
#add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always; add_header X-Frame-Options "SAMEORIGIN" always;
#add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Content-Type-Options "nosniff" always;
#add_header X-Content-Type-Options "nosniff" always; add_header Referrer-Policy "no-referrer" always;
#add_header Referrer-Policy "no-referrer" always;
# CSP pode ser complexo. Este é um ponto de partida. Teste extensivamente.
#add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src 'self' wss:; font-src 'self' data:;" always;
# --- Configurações do Proxy Reverso --- # --- Configurações do Proxy Reverso ---
location / { location / {
# --- Suporte a WebSocket --- # --- Suporte a WebSocket ---
# Essencial para a funcionalidade do client HTML5 do vCenter.
proxy_set_header Upgrade $http_upgrade; proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade"; proxy_set_header Connection "upgrade";
# --- Cabeçalhos do Proxy --- # --- Cabeçalhos do Proxy ---
# Encaminha informações essenciais para o 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;
# --- Timeouts e Buffers --- # --- Timeouts e Buffers ---
# Valores generosos para evitar timeouts em operações longas do vCenter.
proxy_connect_timeout 600; proxy_connect_timeout 600;
proxy_send_timeout 600; proxy_send_timeout 600;
proxy_read_timeout 600; proxy_read_timeout 600;
proxy_buffers 32 4k; proxy_buffers 32 4k;
# Aponta o tráfego para o vCenter Server # --- Confiança no Certificado Backend (Auto-assinado) ---
proxy_pass http://vcenter_backend; # Aponte para o certificado público do vCenter que extraímos.
#proxy_ssl_trusted_certificate /etc/nginx/ssl/vcenter_backend.pem;
#proxy_ssl_verify on;
# Resolve o erro 502 Bad Gateway (problema de SNI).
proxy_ssl_server_name on;
proxy_ssl_name vcenter.itguys.com.br;
# Aponta o tráfego para o vCenter Server via HTTPS.
proxy_pass https://vcenter_backend;
} }
} }