Construindo um Proxy Reverso com Node.js

JavaScriptBeginner
Pratique Agora

Introdução

Neste projeto, você aprenderá como criar um proxy reverso usando Node.js. Um proxy reverso é um servidor que fica entre um cliente e um servidor de backend, encaminhando as requisições do cliente para o servidor de backend e retornando a resposta de volta para o cliente.

👀 Visualização

Visualização do servidor proxy reverso

🎯 Tarefas

Neste projeto, você aprenderá:

  • Como criar um servidor HTTP usando Node.js
  • Como usar o Stream pipe para passar os dados de resposta do GitHub diretamente para o cliente
  • Como iniciar o servidor proxy reverso e testá-lo

🏆 Conquistas

Após concluir este projeto, você será capaz de:

  • Entender o conceito de um proxy reverso e como ele funciona
  • Criar um proxy reverso usando Node.js para encaminhar requisições para o site do GitHub
  • Implementar a funcionalidade do proxy reverso usando o Stream pipe
  • Iniciar e testar o servidor proxy reverso

Implementar o Proxy Reverso

Para começar, abra o editor. Você deve ver um arquivo do editor - "proxy.js".

Nesta etapa, você aprenderá como usar o Stream pipe para passar os dados de resposta do GitHub diretamente para o cliente. Siga os passos abaixo para completar esta etapa:

  1. No arquivo proxy.js, localize o comentário // TODO na função http.createServer.
  2. Substitua o comentário // TODO pelo seguinte código:
https.get(uri, function (response) {
  response.pipe(res);
});

Este código usa o Stream pipe para passar os dados de resposta do GitHub diretamente para o cliente.

  1. Salve o arquivo proxy.js.
✨ Verificar Solução e Praticar

Iniciar o Servidor Proxy Reverso

Nesta etapa, você aprenderá como iniciar o servidor proxy reverso e testá-lo.

  1. Abra um terminal e navegue até o diretório do projeto.
  2. Execute o seguinte comando para iniciar o servidor proxy reverso:
node proxy.js

Você deve ver a seguinte saída:

Server running at http://localhost:8080/
  1. Abra outro terminal e execute o seguinte comando para testar o proxy reverso:
curl --connect-timeout 2 -m 5 localhost:8080/pricing | grep GitHub

Este comando envia uma requisição para o servidor proxy reverso, que por sua vez recupera o conteúdo do site do GitHub e o retorna para o cliente.

  1. Você deve ver as informações de preços do GitHub exibidas no terminal.
Descrição da Imagem

Parabéns! Você criou com sucesso um proxy reverso usando Node.js. Agora você pode experimentar com o proxy reverso modificando o código e testando diferentes cenários.

✨ Verificar Solução e Praticar

Resumo

Parabéns! Você concluiu este projeto. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.