소개
이 프로젝트에서는 Node.js 를 사용하여 리버스 프록시를 만드는 방법을 배우게 됩니다. 리버스 프록시는 클라이언트와 백엔드 서버 사이에 위치하여 클라이언트의 요청을 백엔드 서버로 전달하고, 응답을 다시 클라이언트로 반환하는 서버입니다.
👀 미리보기

🎯 과제
이 프로젝트에서는 다음을 배우게 됩니다:
- Node.js 를 사용하여 HTTP 서버를 만드는 방법
Stream pipe를 사용하여 GitHub 응답 데이터를 클라이언트에 직접 전달하는 방법- 리버스 프록시 서버를 시작하고 테스트하는 방법
🏆 성과
이 프로젝트를 완료하면 다음을 수행할 수 있습니다:
- 리버스 프록시의 개념과 작동 방식을 이해합니다.
- Node.js 를 사용하여 GitHub 웹사이트로 요청을 프록시하는 리버스 프록시를 만듭니다.
Stream pipe를 사용하여 리버스 프록시 기능을 구현합니다.- 리버스 프록시 서버를 시작하고 테스트합니다.
리버스 프록시 구현
시작하려면 편집기를 엽니다. 편집기에서 "proxy.js" 파일을 볼 수 있습니다.
이 단계에서는 Stream pipe를 사용하여 GitHub 응답 데이터를 클라이언트에 직접 전달하는 방법을 배우게 됩니다. 이 단계를 완료하려면 아래 단계를 따르세요:
proxy.js파일에서http.createServer함수 내의// TODO주석을 찾습니다.// TODO주석을 다음 코드로 바꿉니다:
https.get(uri, function (response) {
response.pipe(res);
});
이 코드는 Stream pipe를 사용하여 GitHub 응답 데이터를 클라이언트에 직접 전달합니다.
proxy.js파일을 저장합니다.
리버스 프록시 서버 시작
이 단계에서는 리버스 프록시 서버를 시작하고 테스트하는 방법을 배우게 됩니다.
- 터미널을 열고 프로젝트 디렉토리로 이동합니다.
- 다음 명령을 실행하여 리버스 프록시 서버를 시작합니다:
node proxy.js
다음과 같은 출력을 볼 수 있습니다:
Server running at http://localhost:8080/
- 다른 터미널을 열고 다음 명령을 실행하여 리버스 프록시를 테스트합니다:
curl --connect-timeout 2 -m 5 localhost:8080/pricing | grep GitHub
이 명령은 리버스 프록시 서버로 요청을 보내고, 리버스 프록시 서버는 GitHub 웹사이트에서 콘텐츠를 가져와 클라이언트에 반환합니다.
- 터미널에 GitHub 가격 정보가 표시되어야 합니다.

축하합니다! Node.js 를 사용하여 리버스 프록시를 성공적으로 만들었습니다. 이제 코드를 수정하고 다양한 시나리오를 테스트하여 리버스 프록시를 실험해 볼 수 있습니다.
요약
축하합니다! 이 프로젝트를 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.



