🛠️Backend/Spring
[Spring Boot] 사용자가 접속한 IP 알아내기
뉴발자
2024. 12. 27. 18:18
728x90
개요
서버 내부에 저장된 이미지 경로를 반환하는 API를 생성했다.
하지만 외부망에서 접속 시 해당 이미지를 불러올 수 없었다.
http://192.168.0.100/imgs/img1.png ❌
해결 방안
HttpServletRequest의 getHeader("Host") 함수를 사용하면 사용자가 접속한 IP의 주소를 받아올 수 있었다.
@PostMapping("/get/host")
public void getHost(HttpServletRequest request) {
String host = request.getHeader("Host");
// Host: 192.168.0.100
System.out.println("Host: " + host);
}
이전 코드
@Value("${local.host}")
String host;
@PostMapping("/info/imgs")
public String getImgPath() {
String path = "/imgs/img1.png";
return host + path;
}
수정 코드
@PostMapping("/info/imgs")
public String getImgPath(HttpServletRequest request) {
String host = request.getHeader("Host");
String path = "/imgs/img1.png";
return host + path;
}
728x90