개발바닥곰발바닥
728x90

프론트엔드와 백엔드를 분리한 API 서버를 개발하면서 외부에서 접속이 잘 되는지 확인하기 위해

포트포워딩 설정하고, 방화벽 인바운드 규칙에 8080포트 열어주고 서버 실행시킨다음에 노트북으로 접속해보려고 하니까 mysql 3306이나 redis 6379 포트는 ping이 잘 가는데 8080 포트에는 접속이 안되는 문제가 생겼다.

근데 또 스프링 내장 톰캣말고 따로 설치했던 톰캣을 실행하면 접속이 되는걸 확인하면서 포트 문제가 아니라 스프링 설정에 문제가 있을 거라는 추측이 가능했다.

 

mysql 외부 접속이 안될 때 포트포워딩이랑 인바운드 규칙 설정 후에 잘되는 걸 확인했었는데, 이번에도 똑같은 방법으로 했는데 안되니까 뭐가 문제인지 찾는데 몇시간은 걸린 것 같다.

 

그래서 찾은 문제는 application.properties 파일에 있는 server.address가 localhost로 설정되어 있기 때문이었다.

localhost로 설정하면 localhost에서만 접속이 가능하기 때문에 0.0.0.0이나 서버 컴퓨터의 IP로 설정해주어야 한다.

server.address=0.0.0.0 // 또는 자신의 IPv4 주소
server.port=8080

 

728x90
profile

개발바닥곰발바닥

@bestinu

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!