220901 작업일지

백승한·2022년 9월 1일
0

Redis Error

문제

  • nohup으로 Spring을 띄웠다가 종료하고 다시 실행했더니,

    Error creating bean with name 'embeddedRedisConfig': Invocation of init method failed; nested exception is java.lang.RuntimeException: Can't start redis server. Check logs for details.

이러한 오류를 맞이했다.

해결방안

Spring을 띄우면서 발견한 Error 해결

The request was rejected because the URL contained a potentially malicious String "//"

문제

Spring Security의 기본적인 정책은 URL에 더블슬래시가 들어가는 것을 허용하지 않는다.

예를 들면, test라는 리소스를 요청할 때 > http://localhost:8080/api/test 라는 URL을 사용한다고 해보자.

WEB 소스에서 baseURL 을 잘못설정 뭐 그러한 이유로 http://localhost:8080/api//test 로 요청이 들어오면

서버에서는 아래와 같은 에러가 발생한다.

해결방법

이를 위해서는 Spring Security Config 파일에 아래와 같은 내용을 넣는다.

더블슬래시를 허용해주는 놈을 Bean으로 등록한 후 WebSecurity 설정에 추가해준다.

@Override
public void configure(WebSecurity web) throws Exception {
    web.httpFirewall(defaultHttpFirewall());
}
 
@Bean
public HttpFirewall defaultHttpFirewall() {
    return new DefaultHttpFirewall();
}
profile
방문해주셔서 감사합니다🙂

0개의 댓글