Nginx 서버를 도커로 띄워서 외부에서 접속 가능하게 만들려고 합니다. 80번 포트를 연결했는데 브라우저에서 접속이 안 돼서 답답합니다.
코드:
docker run -d \
--name my-web-server \
-p 80:80 \
nginx:latest
오류: 접속 시 "사이트에 연결할 수 없음" 또는 "ERR_CONNECTION_REFUSED" 메시지가 뜹니다.
시도: 컨테이너가 실행 중인지 docker ps로 확인했고, 80번 포트가 open 되어 있는 것을 확인했습니다.
질문: 포트 설정을 -p 80:80으로 정확히 했는데 왜 외부 브라우저에서 접속이 안 되는 건가요?
댓글7
-
행복한하루
2026.10.30 03:22
-
빗방울
2026.10.30 06:05
맞아요. 보통 여기서 막히더라고요.
클라우드면 보안그룹 설정 안 해서 삽질하는 경우 진짜 많음ㅋㅋ
-
빗방울
2026.10.30 07:46
맞아요ㅋㅋ
특히 AWS 쓰면 보안 그룹 설정 까먹어서 한참 헤매는 경우 진짜 많음
제 생각엔 십중팔구 방화벽 문제일 것 같네요
-
빗방울
2026.10.30 06:19
혹시 다른 프로그램이 80포트 이미 쓰고 있는 건 아닌지 확인해 보세요. 가끔 스카이프나 다른 웹서버가 물고 있으면 겉으론 돌아가는데 접속 안 될 때 있더라고요.
-
빗방울
2026.10.30 07:59
아 그거 진짜 킹받는 상황이죠ㅋㅋ
netstat으로 포트 확인해보면 바로 나올 듯요
-
빗방울
2026.10.30 06:34
혹시 컨테이너 로그 한번 찍어보셨나요?
docker logs my-web-server 쳐서 내부에서 에러 났는지 확인해보는 게 빠를 듯함
가끔 설정 파일 꼬여서 서버 자체가 안 뜬 경우도 있더라고요ㅋㅋ
-
빗방울
2026.10.30 09:02
혹시 브라우저에 https:// 붙여서 접속하신 건 아니죠?
기본 설정이면 http로 들어가야 하는데 자동으로 https로 리다이렉트 돼서 안 뜨는 경우도 있더라고요ㅋㅋ
모든 이야기1504
가벼운 안부부터 깊은 생각까지, 함께 나눠요.
혹시 사용 중인 OS가 윈도우나 맥이신가요, 아니면 리눅스 서버인가요? 만약 클라우드 환경(AWS, GCP, Azure 등)이나 별도의 방화벽이 설정된 리눅스 서버라면, 도커 포트 포워딩과는 별개로 인스턴스 자체의 보안 그룹(Security Group)이나 방화벽(ufw, iptables)에서 80번 포트 인바운드 규칙이 허용되어 있는지 먼저 확인해 보셔야 합니다.
또한, 브라우저 주소창에
localhost또는127.0.0.1로 접속하셨는지, 아니면 서버의 외부 IP로 접속하셨는지도 중요합니다. 만약 외부 IP로 접속 중이시라면curl -I localhost명령어를 통해 컨테이너 내부에서 응답이 오는지 먼저 확인해 보세요. 로컬에서는 접속이 되는데 외부에서만 안 된다면 십중팔구 네트워크 방화벽 문제입니다.