프로그래밍/트러블슈팅
💻 [트러블슈팅] Apache - localhost는 되는데 로컬 IP는 왜 안 돼?
프로그래민구찌
2025. 5. 15. 15:32
🎯 개요
- Apache + APM_Setup 환경에서 localhost는 접속되는데,
- 개인로컬 IP로는 접속이 안 됐던 문제 상황 기록
- 리액트 서버는 잘 되는데, Apache만 안 됐던 원인 분석
✔ 주요 증상 요약
항목 | 상태 |
localhost 접속 | ✅ 정상 |
개인 IP 접속 | ❌ ERR_CONNECTION_REFUSED |
React 개발 서버 (3000번 포트) | ✅ 정상 접속 |
Apache 서버 (80포트) | ❌ 접속 불가 |
방화벽 포트 허용 | ✅ 했음 |
netstat 확인 결과 | ✅ 0.0.0.0:80 열려 있음 |
🛠 문제 해결을 위한 점검 목록
- Apache가 포트 80을 Listen 중인지 확인
- httpd.conf 설정 확인
- Listen 0.0.0.0:80
- <VirtualHost *:80> 설정 여부
- <Directory> 접근 권한 설정
- 방화벽 인바운드 규칙 추가
- TCP 80포트 허용
- 그런데도 안 됨 → 결국 문제는?
netstat -aon | find ":80"
❗ 최종 원인: Windows 경로 백슬래시() 사용
DocumentRoot "C:\APM_Setup\htdocs" ❌
🔻 Apache에서는 슬래시(/)만 인식함
DocumentRoot "C:/APM_Setup/htdocs" ✅
✅ 수정 후 설정 예시
<VirtualHost *:80>
ServerName {IP주소}
DocumentRoot "C:/APM_Setup/htdocs"
<Directory "C:/APM_Setup/htdocs">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
🚀 회고 및 팁
- Apache는 Windows에서도 설정 파일 안에서는 슬래시(/)만 허용함
- React 개발 서버는 기본적으로 0.0.0.0으로 열리기 때문에 외부 접근 가능하지만,
Apache는 VirtualHost + Directory 접근까지 모두 맞춰줘야 함 - 단순한 경로 표기 실수가 외부 접속 전체 거부로 이어질 수 있다는 걸 체감