목록2025/01 (5)
DS's TechBlog

Windows 환경에서 Docker Compose를 사용하여 Spring Boot 애플리케이션과 OpenVidu 서버를 연동하는 과정에서 네트워크 설정 문제로 인해 연결이 되지 않는 문제가 발생했습니다. 이 문제를 해결하기 위한 과정을 공유하고자 글을 작성하였습니다. 문제 상황 Spring Boot 애플리케이션을 Docker Compose로 실행하면서 OpenVidu 서버와 연동하려고 시도했습니다. 아래는 `docker-compose.yml` 파일의 설정입니다.services: spring-app: build: context: . # Dockerfile이 위치한 폴더 dockerfile: Dockerfile.local # Spring Boot Dockerfile 이름 p..

Windows 환경에서 Docker Desktop을 사용하면서 `network_mode: host` 설정이 제대로 적용되지 않는 문제가 발생했습니다. 이 문제를 해결하기 위한 과정을 공유하고자 글을 작성하였습니다.문제 상황services: spring-app: build: context: . # Dockerfile이 위치한 폴더 dockerfile: Dockerfile.local # Spring Boot Dockerfile 이름 network_mode: host docker-compose.yml 파일을 위와 같이 설정했음에도 불구하고, 컨테이너가 호스트 네트워크를 사용하지 않아 포트 접근에 문제가 발생했습니다. Docker 공식 문서 참고 Docker의 공식 문서에 따..

Docker를 사용했을 때, Ubunt에서 ufw를 이용하여 특정 포트로의 접속을 막지 못하는 문제가 발생하였습니다. 이에 대한 해결방법을 공유하고자 글을 작성하였습니다.문제 상황클라이언트가 도메인을 입력했을 때, http와 https의 기본 포트인 80, 443을 통하여 API 서버를 접근할 수 있도록 구성했습니다. 하지만, "서. 버. 주. 소:8000"로 직접 접근이 되는 문제가 발생했습니다. 현재 Nginx를 이용하여 https를 구성하고 있는데, 이렇게 되면 http로 서버로의 접근이 가능하므로 보안 문제가 발생할 수 있습니다. ufw로 해결?Linux의 ufw로 특정 포트로의 접근을 막으려 했습니다.sudo ufw deny 8000sudo ufw deny 8000/tcpsudo ufw stat..

JWT를 사용해 인증 및 인가를 구현한 프로젝트에서, 리프레시 토큰을 쿠키에 저장하여 클라이언트 요청 시 자동으로 포함되도록 설정했습니다. 하지만 서버로 리프레시 토큰이 전달되지 않는 문제가 발생했습니다. 이번 글에서는 이 이슈의 원인과 해결 방법을 탐구해 보겠습니다. 리프레시 토큰 쿠키 설정 스프링부트에서는 HttpServletResponse를 사용하여 쿠키를 설정할 수 있습니다. 다음과 같이 리프레시 토큰을 쿠키에 저장하였습니다. // 토큰을 발급하는 메서드 @Override @Transactional public void issueToken(HttpServletResponse response, String userId, String role) { String acc..
이미지를 파일 시스템에 저장하고 관련 정보를 DB에 저장할 때, 이미지 파일과 DB 간의 일관성을 유지하는 방법 2편입니다. (https://dsjo.tistory.com/12) 2편은 @TransactionEventListener 를 중심으로 작성하였습니다. 아직 남은 문제 @Override @Transactional public void updateBoardImage(Long activityId, Long boardId, MultipartFile boardImageFile) { Board board = boardService.getBoardWithImageAndUser(activityId, boardId); User loggedInUser = securityS..