{"id":156,"date":"2025-01-28T01:26:06","date_gmt":"2025-01-28T04:26:06","guid":{"rendered":"https:\/\/blog.vpsbrasil.com.br\/?p=156"},"modified":"2025-01-28T01:26:06","modified_gmt":"2025-01-28T04:26:06","slug":"tutorial-como-configurar-um-proxy-reverso-seguro-no-vps-com-nginx-ou-traefik","status":"publish","type":"post","link":"http:\/\/blog.vpsbrasil.com.br\/index.php\/2025\/01\/28\/tutorial-como-configurar-um-proxy-reverso-seguro-no-vps-com-nginx-ou-traefik\/","title":{"rendered":"Tutorial: Como Configurar um Proxy Reverso Seguro no VPS com Nginx ou Traefik"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Um proxy reverso \u00e9 essencial para distribuir tr\u00e1fego de forma eficiente e melhorar a seguran\u00e7a do servidor. Neste tutorial, veremos como configurar um proxy reverso seguro usando <strong>Nginx<\/strong> ou <strong>Traefik<\/strong> no seu VPS.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Pr\u00e9-requisitos<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>VPS com sistema operacional Linux (Ubuntu\/Debian recomendado).<\/li>\n\n\n\n<li>Acesso root ou a um usu\u00e1rio com privil\u00e9gios sudo.<\/li>\n\n\n\n<li>Nginx ou Traefik instalados.<\/li>\n\n\n\n<li>Nome de dom\u00ednio configurado apontando para o IP do VPS.<\/li>\n\n\n\n<li>Certificado SSL (podemos usar <strong>Let&#8217;s Encrypt<\/strong> para seguran\u00e7a adicional).<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Passo 1: Instale os Pacotes Necess\u00e1rios<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Para Nginx:<\/h4>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">sudo apt update\nsudo apt install nginx -y\n<\/code><\/span><\/pre>\n\n\n<h4 class=\"wp-block-heading\">Para Traefik:<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Baixe a vers\u00e3o mais recente do Traefik:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">sudo apt install -y wget\nwget https:<span class=\"hljs-comment\">\/\/github.com\/traefik\/traefik\/releases\/latest\/download\/traefik_linux_amd64<\/span>\nsudo mv traefik_linux_amd64 \/usr\/local\/bin\/traefik\nsudo chmod +x \/usr\/local\/bin\/traefik\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Passo 2: Configurar o Proxy Reverso<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Op\u00e7\u00e3o 1: Nginx<\/strong><\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Edite a configura\u00e7\u00e3o do Nginx<\/strong>: <code>sudo nano \/etc\/nginx\/sites-available\/proxy-reverso<\/code><\/li>\n\n\n\n<li><strong>Adicione o seguinte exemplo de configura\u00e7\u00e3o<\/strong>: <code>server { listen 80; server_name seu-dominio.com www.seu-dominio.com; location \/ { proxy_pass http:\/\/127.0.0.1:8080; # Backend ou outro servi\u00e7o 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; } }<\/code><\/li>\n\n\n\n<li><strong>Habilite o arquivo de configura\u00e7\u00e3o<\/strong>: <code>sudo ln -s \/etc\/nginx\/sites-available\/proxy-reverso \/etc\/nginx\/sites-enabled\/ sudo nginx -t sudo systemctl restart nginx<\/code><\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Op\u00e7\u00e3o 2: Traefik<\/strong><\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Crie o arquivo de configura\u00e7\u00e3o principal<\/strong>: <code>sudo nano \/etc\/traefik\/traefik.yml<\/code><\/li>\n\n\n\n<li><strong>Adicione a configura\u00e7\u00e3o b\u00e1sica<\/strong>: <code>entryPoints: web: address: \":80\" websecure: address: \":443\" providers: file: filename: \"\/etc\/traefik\/dynamic.yml\" certificatesResolvers: letsencrypt: acme: email: seu-email@dominio.com storage: \"acme.json\" httpChallenge: entryPoint: web<\/code><\/li>\n\n\n\n<li><strong>Configure os servi\u00e7os (arquivo din\u00e2mico)<\/strong>: Crie o arquivo: <code>sudo nano \/etc\/traefik\/dynamic.yml<\/code> Adicione: <code>http: routers: my-app: rule: \"Host(`seu-dominio.com`)\" entryPoints: - websecure service: my-app tls: certResolver: letsencrypt services: my-app: loadBalancer: servers: - url: \"http:\/\/127.0.0.1:8080\"<\/code><\/li>\n\n\n\n<li><strong>Inicie o Traefik<\/strong>: <code>sudo traefik --configFile=\/etc\/traefik\/traefik.yml<\/code><\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Passo 3: Configurar Certificado SSL (Let&#8217;s Encrypt)<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Para Nginx:<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Instale o Certbot<\/strong>: <code>sudo apt install certbot python3-certbot-nginx -y<\/code><\/li>\n\n\n\n<li><strong>Obtenha o certificado SSL<\/strong>: <code>sudo certbot --nginx -d seu-dominio.com -d www.seu-dominio.com<\/code><\/li>\n\n\n\n<li><strong>Configure a renova\u00e7\u00e3o autom\u00e1tica<\/strong>: <code>sudo crontab -e<\/code> Adicione: <code>0 0 * * * certbot renew --quiet<\/code><\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">Para Traefik:<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Certificados s\u00e3o configurados automaticamente com o <strong>certResolver<\/strong> definido no arquivo <code>traefik.yml<\/code>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Passo 4: Teste sua Configura\u00e7\u00e3o<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Acesse <code>http:\/\/seu-dominio.com<\/code> ou <code>https:\/\/seu-dominio.com<\/code> para confirmar que o proxy reverso est\u00e1 funcionando.<\/li>\n\n\n\n<li>Verifique os logs do servidor para identificar poss\u00edveis erros:\n<ul class=\"wp-block-list\">\n<li><strong>Nginx<\/strong>: <code>\/var\/log\/nginx\/error.log<\/code><\/li>\n\n\n\n<li><strong>Traefik<\/strong>: padr\u00e3o no terminal onde foi iniciado.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Conclus\u00e3o<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Com o proxy reverso configurado, voc\u00ea pode gerenciar m\u00faltiplos servi\u00e7os no seu VPS de forma organizada e segura. Seja com Nginx ou Traefik, o uso de certificados SSL melhora a seguran\u00e7a e a confian\u00e7a dos usu\u00e1rios no seu site ou aplica\u00e7\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Dica extra:<\/strong> Use ferramentas como <strong>Netdata<\/strong> ou <strong>Grafana<\/strong> para monitorar a performance do proxy reverso e otimizar sua configura\u00e7\u00e3o ao longo do tempo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Agora, \u00e9 s\u00f3 colocar em pr\u00e1tica e desfrutar de um VPS robusto e seguro! Experimente essa configura\u00e7\u00e3o com os planos acess\u00edveis da VPS Brasil e leve suas solu\u00e7\u00f5es ao pr\u00f3ximo n\u00edvel! \ud83d\ude80<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Um proxy reverso \u00e9 essencial para distribuir tr\u00e1fego de forma eficiente e melhorar a seguran\u00e7a do servidor. Neste tutorial, veremos como configurar um proxy reverso seguro usando Nginx ou Traefik no seu VPS. Pr\u00e9-requisitos Passo 1: Instale os Pacotes Necess\u00e1rios Para Nginx: Para Traefik: Baixe a vers\u00e3o mais recente do Traefik: Passo 2: Configurar o [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":157,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-156","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutoriais"],"_links":{"self":[{"href":"http:\/\/blog.vpsbrasil.com.br\/index.php\/wp-json\/wp\/v2\/posts\/156","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.vpsbrasil.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.vpsbrasil.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.vpsbrasil.com.br\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.vpsbrasil.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=156"}],"version-history":[{"count":1,"href":"http:\/\/blog.vpsbrasil.com.br\/index.php\/wp-json\/wp\/v2\/posts\/156\/revisions"}],"predecessor-version":[{"id":158,"href":"http:\/\/blog.vpsbrasil.com.br\/index.php\/wp-json\/wp\/v2\/posts\/156\/revisions\/158"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/blog.vpsbrasil.com.br\/index.php\/wp-json\/wp\/v2\/media\/157"}],"wp:attachment":[{"href":"http:\/\/blog.vpsbrasil.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=156"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.vpsbrasil.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=156"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.vpsbrasil.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=156"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}