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.
이러한 오류를 맞이했다.
redis port 6379를 죽이고 다시 실행, 추가로 메모리 할당 제한을 걸어두었다.
Embedded Redis 를 쓰면서 겪은 문제와 해결방안
//포트번호 6379인 프로세스id 확인
$ netstat -ntlp | grep :6379//tcp 0 0 :::6379 :::* LISTEN ####/java
//####: 포트번호 6379의 프로세스$ kill -15 ####
//프로세스 죽이고 다시 쉘 스크립트 실행
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();
}