오류일기
JPA설정 오류 (Socket fail to connct to host)
sami355
2023. 4. 7. 14:57
현상
- ec2에 도커를 설치하고 도커위에 mariadb를 띄우고 로컬에서 mariadb로 jpa설정을 하던 도중 아래와 같은 오류가 나왔다.
- jpa환경 설정을 하며 connector와 URL, id, paasword 모두 설정을 해주었지만 다음과 같이 Socket fail to connct to host 오류가 나왔다. (패킷이 응답 없다고 나왔다.)
- 패킷이 응답 없다고 나왔다.
- jpa에서 환경설정하고 톰캣을 띄우면 동작하지 않지만 MYSQLWorkbench에서는 올바르게 동작한다.
원인
- ec2의 방화벽을 다음과 같이 설정을 해주어서 그런듯하다.잘못 설정한 방화벽
고치는 법
- 혹시 패킷 자체를 아예 받지 못하는 것인가 싶어 iterm을 통해 ec2로 ping을 날려보았고 예상대로 패킷자체를 받지 못하였다.
- jpa에서의 접근을 허용하고 싶다면 소스가 0.0.0.0/0 뿐만 아니라 포트 범위도 전체로 잡아주어야 한다.
- 방화벽을 설정하니 다음과 같이 패킷이 정상적으로 보내진다.
➕MYSQLWorkbench와 JPA모두 포트범위가 3306이라는데 MYSQLWorkbench만 되고 JPA는 안되었는지 모르겠다..
처음에는 JPA(JDBC)는 TCP로 통신하지 않아서 다음과 같은 에러가 생기는건가 하고 찾아봤지만 이 역시 TCP로 통신한다...