에러 내용
Exception Type - I/O error on POST request for "주소": 주소; nested exception is java.net.UnknownHostException: 주소
=> 해당 호스트 정보 / DNS 등을 찾지 못해 발생
상세 내용
몇달동안 실제 운영서버에서 정상적으로 해당 api를 호출되다가, 간헐적으로 해당 에러가 나면서 요청 실패가 나는 상황
(이틀간 수치가 급증하여, 조치 필요)
로컬에서도 같은 현상 발생 (간헐적으로 실패)
예상 원인
Java 애플리케이션에서 유효한 DNS정보를 응답받지 못하는 경우
=> Google DNS 서버가 해당 도메인을 제대로 인식하지 못 하거나, 문제가 잠시 생긴것으로 추측
해결 (둘 중 택1)
1. Hosts 파일 변경
DNS가 안 되는것으로, Hosts에서 ip-DNS 등록해서 사용
=> 로컬에서도 손쉽게 적용가능하고, 재시작(리부팅)이 필요 없음. 단, 상대의 IP가 바뀌면 수동으로 다시 맵핑 시켜줘야 함
방법
vi /etc/hosts
내용 입력(ip,DNS) 127.0.0.1 localhost
(참고 : ping 도메인 => 실제 ip 조회 가능)
2. DNS 설정 변경
주/보조가 모두 구글 서버라 하나를 다른 DNS Server를 바라보도록 변경해서 테스트해본 결과, 정상적으로 요청
=> vi /etc/resolv.conf (운영체제 / 버전에 따라 다를수 있지만, IP or DNS Server 설정 부분을 찾아서 수정)
DNS1 - 8.8.8.8(Google) -> 1.1.1.1(Cloudflare)
DNS2 - 8.8.4.4(Google) -> 8.8.8.8 (Google)
'개발 > 에러 디버깅' 카테고리의 다른 글
(디버깅) Connection reset by peer 에러 원인과 해결 방법 (0) | 2022.07.31 |
---|---|
(Spring boot) properties의 값을 @Value로 읽으면 항상 null 인 문제 (0) | 2022.04.07 |
(JAVA) jar 파일실행시 File 사용 - java.io.FileNotFoundException (1) | 2022.01.18 |