nginx에서 포트 열어두면 다 되는 줄 알았음.
근데 localhost로는 되고, 서버 IP로는 connection refused 발생했음.
처음엔 방화벽 문제인 줄 알았는데 아니었음.
실제 원인
근데 nginx 설정 안에서
- 해당 포트에 대한 listen 설정이 없었거나
- server block(엔드포인트) 설정이 빠져 있었음
- 또는 설정 변경 후 reload가 안 된 상태였음
결과적으로:그래서 컨테이너가 TCP RST로 바로 거절함.
- 포트는 열려 있는 것처럼 보이지만,
실제 nginx 프로세스는 그 포트를 받고 있지 않았음. - docker에서 포트는 publish 되어 있었음.
그래서 nmap localhost에서는 open으로 보였음.
결과적으로
포트는 열려 있는 것처럼 보이지만,
실제 nginx 프로세스는 그 포트를 받고 있지 않았음.
그래서 컨테이너가 TCP RST로 바로 거절함.
왜 localhost에서는 된 것처럼 보였나
localhost 테스트는:
- docker 브릿지 / 포트 포워딩 레벨까지만 확인함
- 실제 서비스 프로세스가 받는지까지는 보장 안 됨
그래서 착시 생김.
왜 서버 IP로는 안 됐나
서버 IP로 접근하면
- 실제 네트워크 인터페이스 → docker → 컨테이너 → nginx 순으로 들어옴
- nginx가 해당 포트를 listen 안 하고 있으니 바로 RST 발생함
- 결과적으로 connection refused 발생함
'TIL' 카테고리의 다른 글
| Traefik 정리 우선 짧게 ( 외부로 트래픽 보낼때) (0) | 2026.01.14 |
|---|---|
| k3s CoreDNS 설정 (0) | 2026.01.14 |
| NTP 개념 정리 및 설정 방법 (0) | 2026.01.07 |
| k3s Control- Plane ( 중요프로그램) (0) | 2026.01.06 |
| L4 로드밸런서 vs L7 로드밸런서 (0) | 2026.01.05 |