프로그래밍/트러블슈팅

💻 [트러블슈팅] 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 열려 있음

🛠 문제 해결을 위한 점검 목록

  1. Apache가 포트 80을 Listen 중인지 확인
  2. httpd.conf 설정 확인
    • Listen 0.0.0.0:80
    • <VirtualHost *:80> 설정 여부
    • <Directory> 접근 권한 설정
  3. 방화벽 인바운드 규칙 추가
    • TCP 80포트 허용
  4. 그런데도 안 됨 → 결국 문제는?
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 접근까지 모두 맞춰줘야 함
  • 단순한 경로 표기 실수가 외부 접속 전체 거부로 이어질 수 있다는 걸 체감