티스토리 뷰

PuTTY에서 SSH 터널링할 때 localhost 대신 127.0.0.1:443으로 변경하니 작동하는 이유는 네트워크 설정 및 DNS 해석 방식 때문입니다.


1. localhost vs. 127.0.0.1 차이

  • localhost는 운영 체제(OS) 에 따라 다르게 해석될 수 있음.
  • 127.0.0.1은 항상 로컬 네트워크의 루프백 주소(Loopback Address) 를 직접 지정하는 방식.

실제 차이점

  • localhost는 DNS 해석을 통해 127.0.0.1로 변환됨.
    → 하지만 Windows, Linux, macOS 환경에 따라 다르게 동작할 수 있음.
  • 127.0.0.1을 직접 입력하면 DNS 해석 과정 없이 바로 내부 IP 주소로 연결됨.

👉 즉, localhost가 제대로 127.0.0.1로 해석되지 못할 경우 문제가 생길 수 있음.


2. 포트 443을 추가하니 해결된 이유

  • 기본적으로 phpMyAdmin은 Apache/Nginx를 통해 실행됨.
  • Apache/Nginx는 보통 80번(HTTP)과 443번(HTTPS) 포트에서 동작함.
  • 127.0.0.1:443을 명시적으로 지정하면, HTTPS(SSL)로 연결을 강제하게 됨.

👉 localhost가 내부적으로 올바르게 처리되지 않더라도, 127.0.0.1:443을 직접 지정하면 명확한 경로로 연결됨.


3. 해결 방법 & 추가 확인할 사항

(1) hosts 파일 확인 (localhost가 이상하게 해석될 수도 있음)

Windows에서는 C:\Windows\System32\drivers\etc\hosts 파일을 확인해보세요.

plaintext
복사편집
127.0.0.1 localhost ::1 localhost

이 항목이 누락되었거나 다른 값으로 변경되었다면 localhost가 잘못 해석될 수 있음.

(2) SSH 터널 설정에서 명확한 주소 지정

SSH 터널을 설정할 때:

  • Source Port: 8888
  • Destination: 127.0.0.1:443 (or 127.0.0.1:80 for non-SSL)

이렇게 설정하면 DNS 해석 과정 없이 직접 연결되므로 더 안정적으로 동작함.


결론

  1. localhost가 제대로 127.0.0.1로 변환되지 못할 수도 있음.
  2. 127.0.0.1:443을 사용하면 SSL 연결이 명확해지고, DNS 문제를 피할 수 있음.
  3. hosts 파일 문제일 가능성이 있으므로 확인 필요.

이제부터 127.0.0.1:443을 사용하는 것이 더 안정적인 방법일 수 있습니다. 🚀

반응형