Docker Container

지난 주에 회사 교육으로 도커 컨테이너에 대한 강의를 들었습니다. 이미 며칠이 지났기 때문에 기억이 조금 흐릿해지긴 했지만 완전히 다 까먹기 전에 기록해 두려고 합니다. 컨테이너 기반 기술 도커(Docker)라는 컨테이너 기술은 어느 날 갑자기 하늘에서 뚝 떨어진 것이 아니며 오래 전부터 리눅스에 포함되어 있던 여러 가지 기술을 잘 조합하여 사용하기 쉽도록 패키징 한 것입니다. 여러 컨테이너…

S3의 CORS 정책을 이용하도록 CloudFront 설정하기

프론트엔드 서버와 분리되어, S3와 CloudFront를 통해 운영되는 리소스 서버가 있습니다. S3에 이미지를 업로드하고 CloudFront를 통해 다운로드하는 방식으로 구성되어 있으며 Signed Cookie를 활용하고 있습니다.리소스 서버의 이미지가 포함된 웹페이지를 브라우저에서 열면 정상적으로 잘 보이지만, html2canvas를 이용하여 캡처하려고 하니 CORS 오류가 발생하였습니다. 이 CORS 오류를 해결하는 과정에서 얻은 경험을 공유하고자 합니다. 이 글에서 다루지 않는 내용 아래와 같은…

Spring Boot에서 Legacy Cookie 사용하기 (Tomcat & Jetty)

HTTP 프로토콜로 서버에 요청 메시지를 보낼 때 Header에 Cookie를 포함할 수 있습니다. 이 때, Cookie가 여러 개이면 각각을 세미콜론(;)으로 구분합니다. 아래와 같은 형태로 Cookie를 보내면 서버에서는 “yummy_cookie”의 값은 “choco”로, “tasty_cookie”의 값은 “strawberry”로 인식합니다. 예전에는 아래와 같이 콤마(,)로 구분된 Cookie도 서버에서 2개로 인식하여 처리할 수 있었습니다. 하지만 콤마로 구분하는 것은 표준이 아니기 때문에 최신 버전의 웹…

C#으로 PBEWithMD5AndDES 암복호화하기

자바 프로젝트에서 properties 파일에 있는 DB 계정 정보를 암호화하기 위해 Jasypt 라이브러리를 많이 사용합니다. (Jasypt 라이브러리를 잘 모르시거나 사용법이 궁금하신 분은 구글링 해보시기 바랍니다.) Jasypt 라이브러리를 이용할 때 주로 사용하는 알고리즘은 PBEWithMD5AndDES라는 것입니다. 문자를 그대로 풀어 보면 “MD5와 DES를 이용한 패스워드 기반 암호화” 정도로 해석될 수 있겠네요. 일반적으로 취약하다고 알려져 있는 MD5와 DES 알고리즘을 사용한다는…

Tomcat 로그를 한글 대신 영문으로 남기기

오래간만에 최신 버전의 톰캣을 다운로드하여 실행해 보았습니다. 그런데 “뺣낫” 같은 알 수 없는 단어들이 섞인 로그 메시지가 출력되었습니다. 아마도 일부 단어가 OS 언어에 맞게 바뀌어서 출력되는 모양입니다.logs 폴더에 있는 catalina.out 파일을 텍스트 에디터로 열어 보았습니다. 아까 “?뺣낫”으로 보였던 문구는 “정보”라는 한글이네요. 한글은 아름다운 우리 글자입니다. 하지만 톰캣 로그에서는 한글보다 영문으로 보이는 게 더 익숙하고 편할…