티스토리 뷰
좋은 질문입니다!
0:0:0:0:0:0:0:1은 IPv6에서의 localhost 주소입니다.
🔍 이유 설명
- 127.0.0.1은 IPv4의 localhost (loopback) 주소입니다.
- 0:0:0:0:0:0:0:1 또는 간략히 ::1은 IPv6의 localhost 주소입니다.
Spring에서 request.getRemoteAddr() 등을 사용할 때, 운영 체제나 JVM이 IPv6 우선 설정을 하고 있다면 클라이언트 IP가 ::1 (혹은 풀 버전인 0:0:0:0:0:0:0:1)로 반환됩니다.
✅ 해결 방법 (IPv4 주소로 받고 싶을 때)
- IPv4 우선 사용하도록 JVM 옵션 설정
실행 시 다음 옵션을 추가:예: java -Djava.net.preferIPv4Stack=true -jar yourapp.jar - -Djava.net.preferIPv4Stack=true
- OS에서 IPv6 비활성화 (권장되진 않음 — 전체 네트워크 설정에 영향)
- 코드에서 IPv6 주소 처리하기
0:0:0:0:0:0:0:1 → 127.0.0.1로 변환: - if ("0:0:0:0:0:0:0:1".equals(ip) || "::1".equals(ip)) { ip = "127.0.0.1"; }
💡 보너스 팁
실제로 클라이언트의 IP를 구분하는 상황이라면 ::1과 127.0.0.1은 동일한 의미로, 둘 다 "내부에서 접속한 사용자"를 뜻하므로 처리는 동일하게 해도 됩니다.
필요하면 IPv6 주소 압축(::1)도 고려해서 처리하는 코드 알려드릴게요.
'Skill > 기반기술' 카테고리의 다른 글
web.xml 설정 (0) | 2025.04.03 |
---|---|
windows SMTP SERVER 설정 (0) | 2025.03.04 |
부가세 계산방법 (0) | 2024.11.20 |
JAVA_TOOL_OPTIONS (0) | 2024.05.03 |
UTM(통합 위협 관리) (0) | 2024.02.02 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- oracle
- spring
- getter
- $.each
- ul li로 테이블
- excel
- Keycode
- DatePicker
- border-collapse
- element위치
- 진열사랑
- $.extend
- 전후방탐색
- QueryDSL
- JQuery
- Javascript
- draw.io
- caniuse
- object key
- PostgreSQL
- @ExceptionHandler
- CSS
- 프로젝트명변경
- devtools
- 여러 컬럼 update
- sumifs
- springboot
- 정규식
- setter
- lombok
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함