전체 글 (65) 썸네일형 리스트형 java.lang.IllegalArgumentException: Invalid character found in method name [0x040x010x000x19h/0x00!0x00...]. HTTP method names must be tokens 1. 오류내용 java.lang.IllegalArgumentException: Invalid character found in method name [0x040x010x000x19h/0x00!0x00...]. HTTP method names must be tokens 2. 오류 이유 https가 활성화되지 않았는데 https에 요청을 하는 경우 3. 오류 해결 - HTTP 통신 시 https://~~~를 http://~~~로 수정 로컬에는 ssh 설정 같은건 한 적이 없으니 당연하게도!! 오류가 떴다ㅠㅠ 이외에도 포트번호를 내가 설정한 것이 아닌(디폴트는 8080) SSH버전 (443)으로 되어있는지 확인해야 한다. 참고 stackoverflow.com/questions/42218237/tomcat-ja.. Cannot construct instance of `com.spring.ribborn.security.UserDetailsImpl` (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator) 1. 오류 내용 Cannot construct instance of `com.spring.ribborn.security.UserDetailsImpl` (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator) 2. 이유 https://dingdingmin-back-end-developer.tistory.com/entry/springboot-No-Creators-like-default-construct-exist-cannot-deserialize-from-Object-value-no-delegate-or-property-based-Creato.. ci (자동빌드) 중에 No such file or directory 오류 해결 깃허브 액션으로 CI(자동 빌드) 를 처음 시도하게 되면서 여러 시행착오를 만나게 되었다 그중 한 오류인데 에러 메세지를 보게 되면 "chmod: cannot access 'gradlew': No such file or directory" 즉 'gradlew' 에 액세스할 수 없다 왜냐하면 해당 파일 또는 디렉토리가 없다 라는 뜻으로 해석된다. 하지만 이 오류에 대해 구글에 검색하게 되면 생각보다 이에 대한 해결 자료가 많이 없었다 유심히 검색중 어느 한분이 작성해주신 글을 보게 되었는데 https://rutgo-letsgo.tistory.com/80 Github Action을 이용해 Psuh, PR 시 Gradle Build Test를 진행해보자. Github Action을 이용해 Push, PR 시 .. 웹소켓 프론트랑 연결중 cors 오류 트러블 슈팅 + bean 에러 일단 쓰기전에 욕한번 하고 가겠다. 씨 발 1. cors 오류가 떴습니다 정말 권한을 전부 주었는데도 불구하고 이런에러가 떠서 진짜 고생을했습니다 해결방법 - https://hi0seon.tistory.com/entry/SpringBoot-CORS-%EC%97%90%EB%9F%AC https://stackoverflow.com/questions/54237851/cors-problems-with-spring-security-and-websocket 첫번째 블로그 글이랑 두번째 stackoverflow가 정말 도움이 많이 되었습니다 이 부분에서 configueration.addAllowedOrigin("*")로 설정을 해주었으나 구글링을 하다가 "allowed-origin 헤더 값을 내 애플리케이션의 URL.. 스프링 씨ㅂ큐리티 antMatchers antMatchers("/login**", "/web-resources/**", "/actuator/**") 특정 리소스에 대해서 권한을 설정합니다. permitAll antMatchers("/login**", "/web-resources/**", "/actuator/**").permitAll() antMatchers 설정한 리소스의 접근을 인증절차 없이 허용한다는 의미 입니다. hasAnyRole antMatchers("/admin/**").hasAnyRole("ADMIN") 리소스 admin으로 시작하는 모든 URL은 인증후 ADMIN 레벨의 권한을 가진 사용자만 접근을 허용한다는 의미입니다. anyRequest anyRequest().authenticated() 모든 리소스를 .. 웹 쏘쏘쏘켓 vs SSE 웹 소켓 소개 웹소켓 프로토콜은 웹 애플리케이션을 위한 새로운 기능으로써 클라이언트 양방향 통신의 오랜 역사를 가지고 있다. HTTP와는 다른 TCP 프로토콜이지만 HTTP에서 동작가능하게 디자인 되었고 80, 443 포트를 사용하며 방화벽규칙을 재사용할 수 있도록 되어있다. 일반 HTTP 요청에 Upgrade 헤더를 포함한 reqeust를 전송하면 WebSocket protocol로 변환되며 WebSocket interaction이 시작된다. SSE 자세히 알아보기 SSE는 서버의 데이터를 실시간, 지속적으로 클라이언트에 보내는 기술이다. 위의 그림처럼 클라이언트에서 처음 HTTP 연결을 맺고 나면 서버는 클라이언트로 계속하여 데이터를 전송할 수 있다. 일반적으로 HTTP 요청은 하나의 [요청 - 응답.. 트러트러트러블 슈티이이잉~ 2022 년 7월 5일 트러블 슈팅 7월 5일은 나의 전역날. 아침부터 일단 좋네요 1. dto 값으로 지금 토큰 생성하는데 이것을 db값으로 토큰생성하게 바꿔본다. 2. 비밀번호 복호화 비밀번호 복호화 DB에 저장되는 암호키와 로그인 혹은 입력 수정 삭제 작업 요청을할때 입력한 비밀번호를 똑같은 형태로 암호화하여 암호화된 두 값을 비교하여 일치하면 로그인을 성공시켜 주지만 그것은 HashCode를 사용하여 비교할때이며 Spring Security에서는 이 방법이 먹히지 않습니다. Spring Security는 매번 랜덤키를 부여하기때문에 따로 디코딩작업을 추가해야합니다. BCryptPasswordEncoder encoder = new BCryptPasswordEncoder(); if(encoder.ma.. 깃베시에서 젠킨슨 패기 일단 깃베시를 실행시킨후에 shh- 로 실행시킨다 ls cd를 통하여 파일을 찾는다 파일을 찾은후에 이미지를 생성후ㅠ 처참히 패배 . 이새끼 못이김요. 더 약골인 깃액션으로 타겟변경 이전 1 2 3 4 5 ··· 9 다음