Como redirecionar tráfego de um subdiretório específico para um proxy reverso e definir um diretório raiz no Nginx

MacBook Pro
Foto por AltumCode em Unsplash

Com o crescimento do uso da internet, o tráfego de informações e dados tem aumentado cada vez mais. Por isso, é fundamental que os administradores de rede e servidores utilizem ferramentas que ajudem a otimizar a entrega de conteúdo e a melhorar a segurança de seus sistemas. Uma das ferramentas mais utilizadas é o Nginx, um servidor web que oferece alta performance e capacidade de escalabilidade.

Neste artigo, vamos ensinar como redirecionar o tráfego de um subdiretório específico para um proxy reverso rodando em uma porta no Nginx e definir um diretório raiz para outros caminhos. Essas configurações são fundamentais para garantir a segurança do servidor, bem como otimizar o tempo de resposta da entrega de conteúdo para o usuário final.

Redirecionando o tráfego de um subdiretório específico para um proxy reverso no Nginx

Para começar, é necessário adicionar um bloco de servidor no arquivo de configuração do Nginx, especificando o nome do servidor e a porta que o proxy reverso está rodando. É importante lembrar que, para a configuração do proxy reverso, é necessário que ele esteja configurado corretamente para lidar com o tráfego.

server {
    listen 80;
    server_name example.com;

    location /subdiretorio {
        proxy_pass http://localhost:8080;
    }
}

Com essa configuração, o tráfego para o subdiretório especificado será redirecionado para o proxy reverso rodando na porta 8080 do localhost.

Definindo um diretório raiz para receber todo o tráfego no Nginx

Para definir um diretório raiz para outros caminhos, é necessário adicionar uma nova localização (location) no bloco de servidor no arquivo de configuração do Nginx.

server {
    listen 80;
    server_name example.com;

    location /subdiretorio {
        proxy_pass http://localhost:8080;
    }

    location / {
        root /var/www/build;
        index index.html;
        try_files $uri $uri/ /index.html;
    }
}

Com essa configuração, todos os caminhos que não foram tratados na localização /subdiretorio serão acionados para o diretório /var/www/build. A diretiva “root” define o diretório raiz para servir os arquivos estáticos e a diretiva “index” define o arquivo padrão para servir se não for especificado nenhum arquivo na solicitação.

A diretiva “try_files” tenta encontrar o arquivo solicitado, o diretório ou o arquivo index.html em ordem, e serve o primeiro que for encontrado.

Essas configurações ajudam a garantir a segurança do servidor, além de melhorar a entrega de conteúdo para o usuário final. O Nginx é uma ferramenta poderosa para administradores de rede e servidores, e entender como utilizá-lo de forma correta é fundamental para garantir um ambiente seguro e de alta performance.

Andre Luiz Bellafronte

André Bellafronte é desenvolvedor de softwares, empresário e publicador de conteúdos nas horas vagas. Acredita que o conhecimento deva ser compartilhado livremente.

Você pode gostar...