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
'🛠️Backend > Spring' 카테고리의 다른 글
[Spring Boot] Spring Boot & React 프로젝트 연결하기 (1) | 2024.10.30 |
---|---|
[Spring Boot] redirect 처리 (feat. RestTemplate, HttpServletRequest, @RequestBody) (1) | 2024.10.22 |
[Spring Boot] 설정 파일 값 암호화 및 적용하기 (feat. Jasypt) (0) | 2024.06.25 |
[Spring Boot] 프로젝트 실행 시 파일 존재 여부 확인 및 신규 파일 생성 (0) | 2024.03.06 |
[Spring Boot] Launch4j과 jar 파일을 사용해서 실행 파일(.exe) 만들기 (0) | 2024.03.06 |
댓글