티스토리 뷰
반응형
문제 상황
최근에 리액트 개발을 진행하면서 갑자기 포트 3000에서 문제가 발생하여 애플리케이션을 실행할 수 없게 되었습니다. 이 포스팅에서는 그 문제의 발생 이유와 해결 방법에 대해 상세히 알아보겠습니다.
원인 분석
- 다른 애플리케이션 또는 서비스가 해당 포트를 이미 사용 중일 때
- 이전에 종료되지 않은 동일한 애플리케이션 인스턴스가 백그라운드에서 실행 중일 때
이러한 경우 Windows 운영체제에서 Winnat 서비스 때문에 포트 충돌이 발생할 수 있습니다.
※ Winnat는 Windows에서 네트워크 주소 변환(Network Address Translation, NAT)을 제공하는 서비스입니다.
해결 방법
1. 기존 프로세스 확인 및 종료
먼저, 윈도우에서 사용 중인 포트와 관련된 프로세스를 찾으려면 다음 명령어를 사용합니다.
netstat -ano | findstr "포트번호"
해당 PID를 사용하여 프로세스를 종료합니다.
taskkill /PID "프로세스ID" /F
2. Winnat 서비스 중지
현재 TCP 프로토콜을 사용하여 예약된 포트 범위 확인합니다.
netsh interface ipv4 show excludedportrange protocol=tcp
Winnat 서비스 중지 및 포트 3000 예외 추가합니다.
net stop winnat
netsh int ipv4 add excludedportrange tcp startport=3000 numberofports=1 store=persistent
Winnat 서비스 재시작합니다.
net start winnat
Windows 환경에서 개발을 진행할 때, 포트 충돌 문제는 언제든지 발생할 수 있습니다. 이러한 문제를 해결하기 위해 Windows 네트워크 설정을 조정하는 방법을 알아보았습니다
반응형
'트러블슈팅' 카테고리의 다른 글
백준 허브 프로그래머스 연동 에러 해결 (0) | 2023.09.19 |
---|