전체 글
-
springboot2.7 + JWT + RSA256(openssl)WEB/BACK 2024. 7. 3. 10:36
후,, 인터넷에 deprecated 된 코드들 너무 많아서 직접 올리는 게시물DEPRECATED 예시// JWT 토큰 생성 public String createToken(String userPk, List roles, PrivateKey key) { Claims claims = Jwts.claims().setSubject(userPk); // JWT payload 에 저장되는 정보단위 claims.put("roles", roles); // 정보는 key / value 쌍으로 저장된다. Map header = new HashMap(); header.put("alg", "RS256"); header.put("typ", "JWT"); ..
-
springboot2.7 ver 최상단 디렉토리 변경WEB/BACK 2024. 6. 25. 14:33
springboot는 localhost:8080 / 이 기본 경로로 가지고 있지만 어떠한 경우에는 /가 아닌 다른 주소로 해야할 경우가 있다. 예를 들어 특정 서버에서 호출하는 경로는 /api 로 시작해야하고 다른 특정 서버에서는 /ui 이런식으로 url 기준으로 뭔가 분기 처리가 필요할때 유용한 방법이 있다. 1. application.properties 파일에서 수정 server.servlet.context-path=/api 2. java에서 설정 @Bean public WebServerFactoryCustomizer webServerFactoryCustomizer() { return factory -> factory.setContextPath("/api"); }
-
spring security error - io.jsonwebtoken.io.JacksonSerializerWEB/BACK 2024. 6. 18. 13:02
io.jsonwebtoken.lang.UnknownClassException: Unable to load class named [io.jsonwebtoken.io.JacksonSerializer] from the thread context, current, or system/application ClassLoaders. All heuristics have been exhausted. Class could not be found. springboot, spring security 사용해서 JWT 진행중 에러가 발생해서 찾아보니pom.xml에다가 관련 디펜던시를 추가해줘야한다. io.jsonwebtoken jjwt-impl 0.10.0 runtime ..
-
container에서 덤프 뜨기 (“Unable to get pid of LinuxThread manager thread” 오류)WEB/BACK 2024. 5. 31. 15:59
container에서 덤프뜨고싶을때 “Unable to get pid of LinuxThread manager thread” 오류 가 발생하는데pidㄱㅏ 1이어서 그렇다.번호를 바꿔주기위해서 Openjdk 의 컨테이너 이미지에 tini 프로그램을 설치한다. RUN apk add --no-cache tini 그리고 entrypoint수정 ENTRYPOINT ["/sbin/tini", "--","java", \ "-Dspring.config.location=/app/application.properties", \ "-Xms4096m","-Xmx4096m", \ "-jar","/app/server.jar"]
-
springboot 프로젝트 docker로 올리기WEB/BACK 2024. 5. 31. 15:54
1. maven build하게되면 .jar 파일 생성됨 2. Dockerfile 작성Dockerfile 예시FROM openjdk:8-jdk-alpineRUN mkdir -p /appWORKDIR /appRUN apk add --no-cache tiniRUN apk add --no-cache tzdataARG DEBIAN_FRONTEND=noninteractiveENV TZ=Asia/SeoulCOPY ./target/server.jar /app/server.jarCOPY oauth2jwt.jks /app/oauth2jwt.jksCOPY ./run/application.properties /app/application.propertiesCOPY ./public /app/publicENTRYPOINT ["/..
-
Dockerfile timezone settingWEB/BACK 2024. 5. 31. 15:46
local에서는 잘됐는데 container에 올리니까 스케쥴러가 안돌아가서 보니깐@shedlock 에 locktime설정이 있는데 거기 시간이 현재시간과 달라서 보니깐timezone설정을 해줘야됐었다.아래 참고#timezoneRUN apk add --no-cache tzdataARG DEBIAN_FRONTEND=noninteractiveENV TZ=Asia/Seoul FROM openjdk:8-jdk-alpine을 사용하는 경우 tzdata를 설치해줘야한다.