배포_OAUTH2 + Security back과 front가 분리되기 전에는 <a href="/oauth2/authorization/kakao">Kakao</a> 위와 같이 설정만 해도 소셜 로그인을 하는데 문제가 없었다. 문제는 back과 front를 분리하면서 해당 url을 페이지로 변환하려고 하면서 에러가 발생했다. ...
배포하면서 생긴 채팅 관련 오류
배포하면서 생긴 채팅 관련 오류 모음 집(+SSE) 로컬에서 https를 적용했을 때는 문제가 되지 않았으나 배포하면서 발견한 에러들을 정리해봤다. 1. 공통 JS와 페이지별 기능 JS 채팅 관련 js를 작성한 곳이 chat.js이고 여러 페이지에서 공통적으로 사용한 변수들과 메소드를 모아놓은 곳이 global.js다. global.js에...
Connection timed out: connect
Connection timed out: connect. DB를 연결하려고 보니 Connection timed out: connect. 에러가 떴다. 이 글을 보고 EC2의 보안그룹을 체크해봤다. 유형 : MYSQL, 포트 범위 : 330으로 설정은 했으나 소스 부분에서 팀원이 “내 IP”만 허용해둬서 나는 접근을 할 수가 없었다. 그...
배포_redis
Redis 이 전 글에서 redis를 application.properties에 아래와 같이 설정했다. spring.redis.host = host.docker.internal host.docker.internal은 Docker for Windows 및 Docker for Mac에서 로컬 호스트를 가리키는 특수한 DNS 이름이다. 따라서 Li...
연관관계_proxy
Proxy • em.find() vs em.getReference() • em.find(): 데이터베이스를 통해서 실제 엔티티 객체 조회 • em.getReference(): 데이터베이스 조회를 미루는 가짜(프록시) 엔티티 객체 조회 → DB 쿼리는 안나가는데 객체는 조회되는 걸 말한다. 아래는 기본 코드 EntityManagerFactor...
Chat 정리
채팅 정리 채팅 기능을 구현하면서 그 과정들을 정리했었는데 기존에 정리했던 것 일부분을 넣어 요약 정리를 해봤다. WebSocket & WebSocket Emulation HTTP 프로토콜의 특징 중 중요한 부분 중 하나는 비연결성이다. HTTP는 비연결성이라는 특징을 가지고 있어서 연결을 끊어버린다. 이를 해결하기 위한 방법이 Pol...
Local에서 https 적용하기
채팅 HTTPS 적용하기 server와 client 간의 websocket 연결은 HTTP 프로토콜을 통해 이루어진다. wss 란 https 처럼 ws 프로토콜에 데이터 보안을 위해 SSL을 적용한 프로토콜이다. port는 옵션이지만 ws스키마는 기본적으로 80포트를, wss스키마는 443을 사용한다. SSL 적용하기 자바는 두 가지의 인증서...
Spring boot 3.x적용
11 → 17 변경 Java 버전은 17인데 프로젝트의 JDK는 11로 되어있었고 spring boot 버전은 2.x였다. 그래서 spring boot는 3.x로 프로젝트 JDK는 17로 통일 시키기로 했다. build.gradle plugins { id 'org.springframework.boot' version '3.0.1' } ...
연관관계 기본
연관관계 기본 Registry(게시글)와 Comment(댓글)가 있다. 객체를 테이블에 맞춰 모델링 객체를 테이블에 맞춰 모델링할 경우 참조 대신에 외래 키를 그대로 사용하는 것이다. // Comment.java @Entity public class Comment { @Id @GeneratedValue @Colu...
Https 적용하기3(cloudfront, acm, route 53)
HTTPS 적용하기(CloudFront, ACM, Route 53) 가장 먼저 도메인을 구매한다. (가비아) 여기서는 www.domain.com이라고 부르겠다. ACM HTTPS 프로토콜을 위한 ACM을 생성한다. 주의할 점은 만들 때 지역을 “버지니아 북부” 로 변경하고 만들어야 한다. 서울과 같이 다른 지역으로 설정하면 계속 검증...