[TOMCAT] localhost 접속은 되는데 ip 접속은 안되는 현상 (address=”0.0.0.0″ 추가)

[TOMCAT] localhost 접속은 되는데 ip 접속은 안되는 현상 (address=”0.0.0.0″ 추가)

윈도우 10 환경에서 아파치 없이, 톰캣만 기동하여 개발서버 세팅을 했는데, 외부에서 접속이 되지 않는 현상이 있었다.

(네트워크로 연결된 다른 컴퓨터에서 인터넷 익스플로러를 띄워, 해당 ip 주소를 입력했을 때, 찾지 못하는 현상 발생)

외부에서 접속이 안되는 문제는 둘째 치고,
해당 컴퓨터에서 인터넷 익스플로러를 띄워서 주소창에 localhost 를 입력하면 접속이 되는데,
주소창에 ip 주소를 입력하면 접속이 되지 않았다.

정반대의 경우라면 어떻게 이해를 해보겠는데, 내 상식으로는 이해가 되지 않았다.

localhost 를 입력하는 방식은, 먼저 localhost 를 입력하는 것이 1단계이고,

루프백(Loop-back) 으로 인식하고 내부 ip 주소를 찾아서 접속하는 것이 2단계이다. 이 2단계가 정상 작동하였다.

그런데 정작, 곧바로 ip 주소를 입력하는 1단계 방식이 안된다니 상식적으로 이해가 되지 않았다.

결론적으로 해당 현상은 tomcat5.x 버전 계열의 문제로 보이는데,
tomcat이 기동되고 port를 바인딩할 때 IPv6로 바인딩이 되는 문제이다.

server.xml 에 address=”0.0.0.0″ 어트리뷰트를 추가하여 해결하였다.
ex) <Connector port=”8080″ maxHttpHeaderSize=”8192″ address=”0.0.0.0″ (후략)

결국 톰캣은 IPv6 주소로 떠있었던 것이고,

localhost 접속이 가능했던 이유는, 루프백 결과, IPv6 주소를 찾아서 바인딩시켰기 때문이다.

ip 주소로 접속이 불가능했던 이유는, IPv4 주소를 입력했기 때문이었다.