Pular para o conteúdo principal

Questão de Redes de Computadores — Nginx — CESPE / CEBRASPE 2024

Redes de ComputadoresNginx
Código
ce403990
Banca
CESPE / CEBRASPE
Órgão
MPO
Ano
2024
Cargo
APO ( )
server {      location / {           proxy_pass http://localhost:8080      }      location /images/ {            root /data;      } }   Considerando o trecho de código precedente, retirado de um servidor NGINX, e conceitos de servidores web NGINX, julgue o item subsequente.   O código apresentado configura o servidor NGINX para redirecionar as requisições da raiz para a porta 8080 do localhost.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

NGINX: proxy_pass e redirecionamento de requisições

Gabarito: ✅ CERTO. O bloco location / com proxy_pass http://localhost:8080 configura o NGINX para atuar como proxy reverso, encaminhando as requisições que casam com a raiz (/) para o serviço que escuta na porta 8080 do próprio host (localhost). A diretiva proxy_pass é justamente a que define o destino do repasse, e o contexto location / captura todas as URIs que começam com / — ou seja, todas as requisições que não casarem com um location mais específico. A fonte é a documentação oficial do NGINX sobre a diretiva proxy_pass e o módulo ngx_http_proxy_module.

O NGINX é um servidor web de alto desempenho, código aberto, que também funciona como proxy reverso e proxy de e-mail (IMAP/POP3). No trecho apresentado, temos dois blocos location: o primeiro, location /, é o location genérico que casa com qualquer URI que comece com / — na prática, todas as requisições que não forem capturadas por um location mais específico. Dentro dele, a diretiva proxy_pass http://localhost:8080 determina que a requisição seja repassada (proxy reverso) para o endereço http://localhost:8080, ou seja, para o serviço que está escutando na porta 8080 do próprio servidor. Isso é exatamente o que o item afirma: "redirecionar as requisições da raiz para a porta 8080 do localhost".

É importante distinguir o papel de cada diretiva. Enquanto proxy_pass faz o repasse da requisição para outro servidor (proxy reverso), a diretiva root (usada no segundo location) define o diretório base a partir do qual o NGINX vai servir arquivos estáticos. No caso, location /images/ com root /data faz com que uma requisição para /images/logo.png seja buscada no arquivo /data/images/logo.png do sistema de arquivos local. São comportamentos diferentes: um é proxy (encaminha para outro servidor), o outro é servir arquivos locais.

A pegadinha que a banca poderia explorar é confundir proxy_pass com redirect (redirecionamento HTTP 301/302). O proxy_pass não devolve um redirecionamento ao cliente; ele faz o servidor NGINX buscar o recurso no servidor de destino e devolver a resposta ao cliente como se fosse do próprio NGINX. Mas o item não fala em redirecionamento HTTP — usa a palavra "redirecionar" no sentido de "encaminhar", que é o que o proxy reverso faz. Portanto, a afirmação está correta.

Guarde a distinção entre proxy_pass (encaminha a requisição para outro servidor) e root/alias (servem arquivos locais). É exatamente essa fronteira que separa as alternativas em questões sobre NGINX.

1location /
proxy_pass → repassa para outro servidor
Requisições da raiz → localhost:8080
2location /images/
root → serve arquivos locais
/data/images/logo.png
3Distinção-chave
proxy_pass ≠ redirect (301/302)
proxy_pass = proxy reverso
NGINX: location
LEVELsoulevel.com.br
NGINX: location: location / (proxy_pass → repassa para outro servidor, Requisições da raiz → localhost:8080); location /images/ (root → serve arquivos locais, /data/images/logo.png); Distinção-chave (proxy_pass ≠ redirect (301/302), proxy_pass = proxy reverso)

Item — ✅ CERTO

A afirmativa está correta. O bloco location / casa com a raiz do servidor (todas as URIs que começam com /), e a diretiva proxy_pass http://localhost:8080 faz o NGINX repassar essas requisições para o serviço que escuta na porta 8080 do localhost. Isso configura o NGINX como proxy reverso para a raiz, exatamente como o item descreve. O termo "redirecionar" aqui é usado no sentido de "encaminhar" (proxy), não de redirecionamento HTTP (301/302), mas o sentido é claro e correto.

Gabarito: ✅ CERTO

Link permanente: /questoes/ce403990