본문 바로가기

General_

[ AI/naver-map ]네이버 지도 API 404 오류 해결 기술 보고서

네이버 지도 API가 네이버 개발자 센터에서 네이버 클라우드 플랫폼으로 완전 이전되면서 발생한 404 오류를 분석하고 해결한 과정을 정리한 내용.

다른 사람들도 네이버 지도 하다가 오류가 걸리거 같아서, 혹시나 하여 작성해본다.
데이터가 여전히 과거 개발자 센터로 많이 있기 때문에 LLMs이 다 저쪽 데이터를 가져온다.

 

문제 상황

초기 증상

❌ Static Map API: 404 "URL not found"
❌ Geocoding API: 404 "Not Found Exception"  
❌ Reverse Geocoding API: 404 "URL not found"

환경 정보

  • Client ID: ✅ 정상 발급 및 설정
  • Client Secret: ✅ 정상 발급 및 설정
  • API 서비스: 네이버 클라우드 플랫폼 Maps API (신규)
  • 도메인 등록: https://teadiary.sooworld-fire.workers.dev/
  • 선택 서비스: Dynamic Map, Static Map, Geocoding, Reverse Geocoding ✅

오류 로그

GET https://naveropenapi.apigw.ntruss.com/map-static/v2/raster 404
GET https://naveropenapi.apigw.ntruss.com/map-geocode/v2/geocode 404
GET https://naveropenapi.apigw.ntruss.com/map-reversegeocode/v2/gc 404

🔍 문제 분석 과정

1단계: 현재 코드 분석

파일 위치: /naver-map-api/route.ts

기존 설정:

// 잘못된 엔드포인트 (AI NAVER API 형식)
const STATIC_MAP_URL = 'https://naveropenapi.apigw.ntruss.com/map-static/v2/raster'
const GEOCODING_URL = 'https://naveropenapi.apigw.ntruss.com/map-geocode/v2/geocode'

// 잘못된 인증 헤더 (대문자)
headers: {
  'X-NCP-APIGW-API-KEY-ID': clientId,
  'X-NCP-APIGW-API-KEY': clientSecret,
}

 

2단계: 네이버 클라우드 플랫폼 변경사항 조사

주요 변경사항 (공식 공지):

  • 2025년 3월 24일: AI NAVER API 지도 서비스 신규 신청 차단 발표
  • 2025년 5월 22일: 신규 신청 완전 차단
  • 2025년 7월 1일: 무료 이용량 제공 중단
  • 도메인 변경: naveropenapi.apigw.ntruss.com → maps.apigw.ntruss.com

3단계: 핵심 문제 발견

근본 원인:

  1. API 서비스 불일치:
    • 구독한 서비스: 신규 Maps API
    • 코드에서 사용: 기존 AI NAVER API 엔드포인트
  2. 인증 방식 차이:
    • Maps API: 소문자 헤더 요구
    • 기존 코드: 대문자 헤더 사용

 

 

해결 과정

1차 수정: 인증 헤더명 수정

// 수정 전 (대문자 - 실패)
headers: {
  'X-NCP-APIGW-API-KEY-ID': clientId,
  'X-NCP-APIGW-API-KEY': clientSecret,
}

// 수정 후 (소문자 - 성공)
headers: {
  'x-ncp-apigw-api-key-id': clientId,
  'x-ncp-apigw-api-key': clientSecret,
}

2차 수정: API 엔드포인트 변경

// 수정 전 (AI NAVER API - 404 오류)
const STATIC_MAP_URL = 'https://naveropenapi.apigw.ntruss.com/map-static/v2/raster'
const GEOCODING_URL = 'https://naveropenapi.apigw.ntruss.com/map-geocode/v2/geocode'
const REVERSE_GEOCODING_URL = 'https://naveropenapi.apigw.ntruss.com/map-reversegeocode/v2/gc'

// 수정 후 (신규 Maps API - 성공)
const STATIC_MAP_URL = 'https://maps.apigw.ntruss.com/map-static/v2/raster'
const GEOCODING_URL = 'https://maps.apigw.ntruss.com/map-geocode/v2/geocode'
const REVERSE_GEOCODING_URL = 'https://maps.apigw.ntruss.com/map-reversegeocode/v2/gc'

3차 검증: 서비스 설정 확인

네이버 클라우드 플랫폼 콘솔 확인:

📊 해결 결과

최종 테스트 결과

API 서비스 요청 URL 상태 코드 결과 응답 데이터

Static Map maps.apigw.ntruss.com/map-static/v2/raster 200 ✅ 성공 image/jpeg 형식 지도 이미지
Geocoding maps.apigw.ntruss.com/map-geocode/v2/geocode 200 ✅ 성공 서울특별시 강남구 위치 좌표 데이터
Reverse Geocoding maps.apigw.ntruss.com/map-reversegeocode/v2/gc 200 ✅ 성공 중구 태평로1가/명동 주소 데이터

 

 

결론 및 권장사항

문제의 근본 원인

  1. 서비스 전환 혼란:
    • 네이버 지도 API의 클라우드 플랫폼 완전 이전
    • AI NAVER API vs 신규 Maps API 구분 미흡
  2. 기술 문서 참조 부족:
    • 대소문자 구분 헤더 요구사항 간과
    • 엔드포인트 도메인 변경사항 미반영
  3. API 구독 정보 불일치:
    • 실제 구독: Maps API
    • 코드 구현: AI NAVER API

 

해결책 요약

항목 기존 (실패) 수정 후 (성공)

도메인 naveropenapi.apigw.ntruss.com maps.apigw.ntruss.com
헤더 케이스 대문자 (X-NCP-APIGW-*) 소문자 (x-ncp-apigw-*)
API 버전 AI NAVER API Maps API

 

 

참조 :

 

728x90