Spring Boot 2

jib로 springboot 애플리케이션 컨테이너화 + registry 등록

애플리케이션을 컨테이너화 시키기 위해서는 docker 를 쓰는 시나리오에는 일반적으로 docker가 설치된 환경에서 dockerfile 을 만들어 그것을 이미지로 빌드하는 것이 보통이다. 구글에서 나온 jib 와 maven 플러그인, gradle 플러그인을 활용하면 애플리케이션의 빌드 과정에서 자동으로 컨테이너 이미지를 만들고, 그것을 registry 에 등록할 수 있다. jib란 docker daemon 없이도 Java 애플리케이션을 Docker 혹은 OCI 규격의 컨테이너 이미지를 만들어 주는 도구이며, maven 플러그인 및 gradle 으로 제공되어 Dockerfile 에 대한 별도의 지식 없이도 애플리케이션을 이미지로 만들 수 있다. 또한 JAR를 single layer 로 빌드하는 것이 아니라..

dev/Java&Spring 2019.09.30

Spring에서 Client Authentication (two-way TLS/SSL) 구현하기

https://springboot.cloud/19 에서는 내부망 혹은 사설인증서를 통해 TLS/SSL을 구현할 경우 CA를 신뢰할 수 없어 검증을 회피하는 로직을 적어보았다. 이 경우는 HTTPS를 통해 전달 과정에서 암호화는 유지가 되지만, 이것이 신뢰할 수 있는지 없는지는 신경을 쓰지 않는 방법이다. 반대로, 클라이언트와 서버간에 매칭이 되는 인증서를 소유하고 있지 않다면 서로 접근을 아예 거부하는 방법이 필요할 수도 있다. 뭔가 정보 수집을 하는 서버-에이전트간에 인증된 에이전트에서만 정보를 받아들이게 한다던가 뭐 그런 경우로 쓰고 있는데, 간단하게 구현을 할 때는 HTTP HEADER에 AUTH에 관한 부분을 삽입해서 그걸 체크하거나, 좀 더 복잡한 구현이 필요하다면 해당 헤더에 들어가는 값을 주..

dev/Java&Spring 2019.04.07