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

시작 S3와 CloudFront을 통해 운영되는 별도의 이미지 서버가 있습니다. 이 서버의 이미지가 포함된 웹페이지를 html2canvas를 이용하여 캡처하려고 하니 CORS 오류가 발생하였습니다. CORS 오류를 해결하는 과정에서 얻은 경험을 공유하고자 합니다. 이 글에서 다루지 않는 내용 아래와 같은 이론적인 지식이나 기초적인 사용방법은 이 글에서 다루지 않습니다. CORS의 정의와 동작 방식 AWS 가입 방법 및 절차 S3에서 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 파일을 텍스트 에디터로 열어 보았습니다. 아까 “?뺣낫”으로 보였던 문구는 “정보”라는 한글이네요. 한글은 아름다운 우리 글자입니다. 하지만 톰캣 로그에서는 한글보다 영문으로 보이는 게 더 익숙하고 편할…

영혼 없이 Telegram Bot 만들기

텔레그램에서는 봇을 만들 수 있는 API를 공식적으로 지원합니다. 게다가 무료이므로 개발자라면 누구나 쉽게 봇을 만들어 볼 수 있습니다. BotFather 우선 봇을 만들려면 봇 전용 텔레그램 계정이 필요합니다. 전화번호나 이메일 없이 봇 전용 계정을 만들기 위해서는 BotFather의 도움이 필요합니다.텔레그램 앱에서 “botfather”를 검색합니다. 그리고 아래와 같은 프로필 사진을 가진 BotFather를 선택하고 “시작” 버튼을 클릭합니다. 그러면 사용할 수…