From 6e285a40f8d0fd319ccddfa9e8d1c6cfd6238f24 Mon Sep 17 00:00:00 2001 From: "srvproxy001.itguys.com.br" Date: Tue, 23 Sep 2025 11:21:05 -0300 Subject: [PATCH] =?UTF-8?q?[Auto-Sync]=20Atualiza=C3=A7=C3=A3o=20das=20con?= =?UTF-8?q?figura=C3=A7=C3=B5es=20em=20srvproxy001.itguys.com.br=20-=20202?= =?UTF-8?q?5-09-23=2011:21:03?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nginx/sites-available/vcenter.conf | 111 +++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 nginx/sites-available/vcenter.conf diff --git a/nginx/sites-available/vcenter.conf b/nginx/sites-available/vcenter.conf new file mode 100644 index 0000000..58c2cfc --- /dev/null +++ b/nginx/sites-available/vcenter.conf @@ -0,0 +1,111 @@ +# ================================================================================= +# NGINX Reverse Proxy para VMware vCenter Server +# +# DESCRIÇÃO: +# Este arquivo configura o NGINX para atuar como um proxy reverso seguro para o +# vSphere Client (UI do vCenter). Ele realiza a terminação SSL/TLS, permitindo +# que o NGINX gerencie o certificado público, e encaminha o tráfego para o +# backend do vCenter. +# +# PRINCIPAIS CARACTERÍSTICAS: +# - SSL Termination: O NGINX lida com o certificado validado por uma CA. +# - Suporte a WebSocket: Configuração essencial para o funcionamento do VMware +# Remote Console (VMRC) e outras funcionalidades em tempo real. +# - Redirecionamento HTTP para HTTPS: Força todo o tráfego para a porta segura. +# - Segurança: Utiliza snippets para parâmetros SSL e de proxy, centralizando +# as boas práticas de segurança. +# +# ATENÇÃO - CONFIGURAÇÃO NÃO SUPORTADA PELA VMWARE: +# A VMware não oferece suporte oficial a configurações de vCenter atrás de um +# proxy reverso. Embora funcione bem para o vSphere Client, funcionalidades como +# Content Library sync, backups baseados em imagem e algumas APIs podem apresentar +# problemas. Use por sua conta e risco e teste exaustivamente. +# +# SNIPPETS UTILIZADOS: +# - snippets/ssl_params.conf: Parâmetros de segurança SSL/TLS. +# - snippets/proxy_params.conf: Cabeçalhos padrão para proxy. +# - snippets/websocket_params.conf: Cabeçalhos para upgrade de conexão WebSocket. +# ================================================================================= + +# Define o servidor backend do vCenter. +# Usar um upstream facilita a leitura e futuras manutenções. +upstream vcenter_backend { + # IMPORTANTE: Use o IP ou FQDN do seu vCenter Server Appliance. + # A comunicação entre NGINX e vCenter deve ser segura. + server 192.168.1.10:443; +} + +# --------------------------------------------------------------------------------- +# Bloco 1: Redirecionamento de HTTP (porta 80) para HTTPS (porta 443) +# Garante que todo o acesso seja feito de forma segura. +# --------------------------------------------------------------------------------- +server { + listen 80; + # IMPORTANTE: Substitua pelo FQDN público que apontará para o NGINX. + server_name vcenter.seudominio.com; + + # Retorna um redirecionamento permanente (301) para a versão HTTPS. + return 301 https://$host$request_uri; +} + +# --------------------------------------------------------------------------------- +# Bloco 2: Configuração principal do Proxy Reverso para HTTPS +# Onde toda a mágica acontece. +# --------------------------------------------------------------------------------- +server { + listen 443 ssl http2; + # IMPORTANTE: Substitua pelo FQDN público que apontará para o NGINX. + server_name vcenter.seudominio.com; + + # --- Configuração do Certificado SSL --- + # O NGINX usará este certificado para se apresentar aos clientes. + # IMPORTANTE: Substitua pelos caminhos do seu certificado e chave privada. + #ssl_certificate /etc/letsencrypt/live/vcenter.seudominio.com/fullchain.pem; + #ssl_certificate_key /etc/letsencrypt/live/vcenter.seudominio.com/privkey.pem; + + # Inclui os parâmetros de segurança SSL (cifras, protocolos, etc). + include snippets/ssl_params.conf; + + # --- Configuração do Proxy --- + # A localização raiz (/) encaminha todo o tráfego para o vCenter. + location / { + # Passa a requisição para o upstream definido acima. + # Note o "https://": o tráfego NGINX -> vCenter continua criptografado. + proxy_pass https://vcenter_backend; + + # Inclui cabeçalhos de proxy padrão (X-Forwarded-For, etc). + include snippets/proxy_params.conf; + + # Define cabeçalhos essenciais para o funcionamento do vCenter. + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-Proto https; + + # Aumenta os timeouts para operações longas do vCenter. + proxy_connect_timeout 600s; + proxy_send_timeout 600s; + proxy_read_timeout 600s; + + # Aumenta o tamanho dos buffers para acomodar cabeçalhos maiores. + proxy_buffers 8 16k; + proxy_buffer_size 32k; + proxy_busy_buffers_size 64k; + } + + # --- Suporte a WebSocket --- + # O vSphere Client usa WebSockets para o console remoto (VMRC) e outras + # atualizações em tempo real. Esta localização captura essas requisições. + location /websockify { + proxy_pass https://vcenter_backend; + + # Inclui os cabeçalhos necessários para o upgrade da conexão para WebSocket. + include snippets/websocket_params.conf; + + # Inclui cabeçalhos de proxy padrão. + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + + # Define timeouts mais longos para a conexão persistente. + proxy_read_timeout 86400s; # 24 horas + } +}