작성
·
46
0
80번 포트에 대해서 이해가 잘 안갑니다.
제가 느끼기에는
80번 포트가 호스트 컴퓨터오 연결되어 있고
그거에 대해서 접근할 수 있는 4000번 포트를
연결 해주는 느낌이라고 생각했는데
좀.. 완전 제가 이해를 잘못하는것 같습니다.
사용자와 호스트컴퓨터
80포트, 4000포트에 대하여 설명 부탁드립니다.ㅠ
중요한 개념 같은데..
마지막으로 이게 포트포워딩 같은 개념인가요?
답변 2
1
안녕하세요! 질문 너무 잘 해주셨어요ㅎㅎ
강의 내용 중에서 "포트 번호" 부분이 처음엔 정말 헷갈릴 수 있어요!
제가 차근차근 설명드려볼게요~!
"기본 포트 80이 무엇인가요?"
-> 포트 80번은 웹 서버(예: Nginx, Apache 등)의 기본 HTTP 통신 포트에요!
브라우저에서 http://example.com처럼 포트 번호를 안 적고 접속하는 경우,
브라우저는 자동으로 80번 포트로 접속을 시도해요!
즉, "HTTP = 80번 포트", "HTTPS = 443번 포트"라고 약속된 거예요!
"그럼 Docker에서는 포트가 어떻게 동작하나요?"
-> Docker는 아래처럼 포트를 매핑해서 사용해요 ~
docker run -p 4000:80 my-image
왼쪽의 4000은 호스트(수강생님) 컴퓨터의 포트에요 ~
즉, 사용자가 접근할 수 있는 포트에요 !
오른쪽의 80은 컨테이너 안에서 동작하는 서버의 포트에요~
예를 들어 컨테이너 내부에서 Nginx가 80포트로 띄워져요!
"사용자가 실제 접속하는 흐름은 어떻게 될까요?!"
-> 사용자가 브라우저에서 http://호스트IP:4000 를 입력하면 아래처럼 진행되요 !
[1] 호스트의 4000번 포트로 요청 도착
[2] Docker가 이 요청을 컨테이너 내부의 80번 포트로 포워딩(전달)
[3] 컨테이너 내부에서 웹 서버(Nginx 등)가 80포트로 응답함
[4] 결과가 사용자에게 전달됨
"이게 포트포워딩이 맞나요?"
-> 네 맞아요 !! 바로 이게 ‘포트 포워딩(port forwarding)’ 개념이에요 !!
외부(사용자)가 직접 접근할 수 없는 컨테이너 내부 포트를,
호스트 포트와 연결해서 외부에서 접근 가능하게 만드는 것이죠 :)
궁금하신 거 하나하나 정리해가시는 모습 너무 좋습니다 !!
다른 부분도 헷갈리는 게 있다면 언제든지 질문 주세요~!
항상 응원하겠습니다 😄
0
안녕하세요, 인프런 AI 인턴입니다. hantrust87님.
포트와 관련된 개념은 네트워크에서 매우 중요한 부분이지만 처음 접할 때는 다소 헷갈릴 수 있습니다. 80번 포트와 4000번 포트 관련해서 간단히 설명드리겠습니다.
컴퓨터 네트워크에서 포트는 데이터가 오가는 경로의 끝점을 의미합니다. 포트는 특정 서비스나 애플리케이션에 연결되며, 서버와 클라이언트는 이 포트를 통해 서로 데이터를 주고받습니다.
80번 포트:
4000번 포트:
사용자: 인터넷을 통해 서버에 접속하려는 사람입니다. 사용자는 브라우저를 통해 특정 웹 서버(예: 웹사이트)에 접속할 수 있으며, 이때 브라우저는 기본적으로 80번 포트를 사용하여 요청을 보냅니다.
호스트 컴퓨터: 서버가 동작하는 중심이 되는 컴퓨터로, 해당 서버는 여러 서비스와 프로그램을 운영할 수 있습니다. 각 서비스는 특정 포트를 통해 외부 요청을 처리합니다.
“포트 포워딩”은 외부 네트워크에서 들어오는 특정 포트의 트래픽을 내부 네트워크의 특정 호스트와 포트 번호로 전달하는 기술입니다. 포트 포워딩을 사용하면 외부 사용자들이 내부 네트워크에서 호스팅되는 서비스에 접근할 수 있습니다.
다음의 예시에서 더 깊이 있는 정보를 얻으실 수 있습니다:
- Nginx 등을 이용한 포트 포워딩
저는 질문자님의 이해를 돕고자 유사한 주제의 기존 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
이해하기 쉽게 전달 해주셔서 감사합니다!
아직 완벽하게 이해 했는지는 모르겠지만 개념은 잡히고 있는 것 같습니다.
좀 더 자주 해보고 수업을 들으면서 이해 할 것 같습니다. 감사합니다. !!