본문 바로가기

SpringBootServletInitializer Spring boot 웹 어플리케이션 개발시 Local 에서는 잘만 되던게, WAR 파일로 서버에 배포하면 404 error 날 때가 있다. 서버 로그에는 별 메시지가 없다. 단지 배포가 잘됐다는...; INFO [dev.example.com-startStop-3] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/var/lib/tomcat8/webapps/auth/ROOT.war] has finished in [2,533] mscs 이럴 경우 local 에서 되던게 server 에서 안되는 것이니 서버 설정에 문제를 예상할 수도 있지만, 서버는 에러 발생 시 로그를 남긴다; 로그 없는 이 상황은..
The scratchDir you specified: is unusable. 간만에 재미진 일. 간만에 사이트 운영팀에서 오류 문의가 속출했다. 등록이 안된다느니, 상세 페이지가 빈화면으로 나온다느니... 훗~ 걱정마라. 언제나 처럼 이 오빠가 해결해 줄테니. 우선 이 님들의 증상이 나에게도 동일한지 확인하였다. 특정 페이지들이 서버 500 에러도 있었지만 status 200 인데 빈화면이 나오는 기괴한 장면이 보여졌다. 동일한 소스의 개발 서버에는 정상적으로 작동하고 있었다. 실서버 로그를 확인해보니, 어제 아무개팀에서 인증서를 갱신했다.(내가 하던걸 왠일로...) 근데 로그를 뒤져보니 그 시간 이후로 오류가 속출했다. 잡았다, 요놈!! 공통적으로 주로 나온 오류들이다. INFO [main] org.apache.coyote.AbstractProtocol.destroy Destr..
Intellij 한글 깨짐 이 거지같은 한글 깨짐은 20년 동안 사라지질 않네.ㅋㅋ (한글 디스 아님!) 사건발단 1. 오늘 몇년전 프로젝트를 열었다가 IntelliJ 콘솔에서 우연히 한글깨짐을 발견했다.2. 최근 프로젝트에서도 한글을 써보니 콘솔에서 한글깨짐이 발생했다. (한동안 영어만 쓰고 살았음...ㅡㅡv)3. gradle 의 clean 작업을 실행하면서 build.gradle 의 한글이 깨졌으니 tomcat 의 문제는 아니다.4. IntelliJ 가 실행될 때의 어느 곳에 있는 자바 옵션이 실행되는지를 체크하고 인코딩을 설정해야 한다. -Dfile.encoding=UTF-8 삽질 1. 시스템 환경변수 세팅2. C:\Program Files\JetBrains\IntelliJ IDEA 2019.2.1\bin 의 idea.exe..
Error processing request NullPointerException tomcat 로그 catalina.out 에서 무수히 발견된 로그들. 30-Sep-2019 09:49:42.578 SEVERE [http-nio-8080-exec-32] org.apache.coyote.http11.Http11Processor.service Error processing request java.lang.NullPointerException org.apache.coyote.http11.Http11Processor 는 http 요청을 처리한다. 위 로그는 server.xml 에 정의된 defaulthostname 이 null 이기 때문에 발생한 예외이다. server.xml 에는 아래와 같은 설정이 기본적으로 되어 있다. Hostname 을 localhost 그대로 사용할 경우엔 예외가 발생..
No content length specified for stream data s3 업로드시 발생하는 로그. Sep 30 03:29:32 ip-172-50-10-72 tomcat8: 2019-09-30 12:29:32.717 WARN 27104 --- [io-8443-exec-65] c.amazonaws.services.s3.AmazonS3Client : No content length specified for stream data. Stream contents will be buffered in memory and could result in out of memory errors. s3 업로드시 setContentLength 를 지정하지 않거나 IOUtils.toByteArray(inputStream) 사용시 inputStream 이 소진되어 발생하는 경고이며 다음과 같이 수정이..
웃픈 tomcat 서버 오늘의 웃픈 에피소드. 회사에는 구성원이 있고 그들의 역할도 있고 그에 따른 책임도 있고 단계도 절차도 있다. 그것은 때로는 많은 사람들을 피곤하게 하고 더 많은 시간이 소요되는 비효율적일 때도 있다. 나에게도 이런 상황이 닥쳤지만 이 상황을 효율적으로 바꾸려면 그들이 똑똑해지거나 그들의 역할을 누군가가 도와주는 방법이 있다. 하지만 그들이 하루 아침에 똑똑해질 수는 없고 그들의 역할에 내가 침범하면 불쾌해 할 것이다. 그래서 난 그냥 비효율적으로 있기로 했다. 개발서버가 필요했다. 필요한건 tomcat 밖에 없었다. 어딘가에게 요청했다. 이 어딘가는 앞으로 열심히 서버를 만들, 서버 전문가가 되려고 준비하는 집단이다. 곧 ip 와 pem 키가 전달됐다. putty 접속을 했는데 user 가 centos..
Invalid character found in the request target INFO 8508 --- [nio-8080-exec-1] o.apache.coyote.http11.Http11Processor : Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level. java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986 at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(..
Tomcat 80 to 443 port 미션. http://mydomain.com -> https://mydomain.com 간만에 톰캣 단독 서버를 만들면서 포트 포워딩에 대한 노가다를 해보았다.톰캣은 기본적으로 8080 포트와 8443(SSL) 포트를 사용하기 때문에 대부분의 경우 80 포트나 443 포트로 변경하기를 원할 것이다.도커 등의 각종 컨테이너 서비스를 사용하면 포트 걱정할 일은 없지만, 포트 포워딩이 아닌 포트 변경이 가능한 방법을 찾아봤다. > server.xml 8080, 443->8443 포트 포워딩 $ sudo vi /etc/init.d/iptables iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080iptables -A ..