Chapter01 67

[ Spring boot ] BCryptPasswordEncoder BCrypt 복호화

비밀번호 같은 중요한 정보는 DB에 저장할 때 입력받은 값 그대로 저장하면 안됨  암호화 방식에는 단방향 / 양방향 이 있는데 아주 간단하게만 얘기해볼겡 단방향 암호화는 암호화는 할 수 있지만, 복호화하여 원본 비밀번호를 알 수 없다.양방향 암호화는 암호화하고, 복호화하면 원본 비밀번호를 알 수 있다.  이런것임.   지금 쓰게될  Spring Security의 BCryptPasswordEncoder 사용하는 BCrypt 방식은  회원가입의 경우를 예시로 들면회원가입을 할 때 사용자가 입력한 원본 비밀번호와랜덤으로 생성된 솔트를 결합해 생성된 해시 값이 DB에 들어가는것임! salt는 매번 랜덤하게 생성되기 때문에 동일한 비밀번호도 매번 다른 해시 값을 생성함. 그래서 해시값으로 복호화해서 원본 비밀번호..

[ Docker ] 배포하기

https://dev-emma-dev.tistory.com/238 [Docker] Java 애플리케이션 Docker Container에서 실행하기build한 jar파일을Dockerfile을 이용해 Docker Container에서 실행하는 부분에 대해서 적어볼게요 = 이미지를 만든다 임       1. JAR 파일을 빌드프로젝트를 빌드해 jar파일을 만든다 ./gradlew build  buildev-emma-dev.tistory.com  이어지는 글,, 프로젝트 빌드하기./gradlew build gradle 설정 바꾼 후 재빌드 ./gradlew clean build --refresh-dependencies    이미지 빌드하기docker build -t {이미지이름:버전} {dockefile경로} ..

Chapter01/Docker 2024.10.16

[Docker] Java 애플리케이션 Docker Container에서 실행하기

build한 jar파일을Dockerfile을 이용해 Docker Container에서 실행하는 부분에 대해서 적어볼게요 = 이미지를 만든다 임       1. JAR 파일을 빌드프로젝트를 빌드해 jar파일을 만든다 ./gradlew build  build/libs 경로 아래에 jar파일이 생긴다   2. Dockerfile을 이용해 이미지 생성= JAR 파일을 Docker 컨테이너에서 실행할 수 있는 환경을 이미지로 만든다.  Dockerfile을 작성하고, 만든 jar파일을 컨데이너에서 실행할 수 있도록 설정한다  FROM openjdk:17-jdk-slim-busterRUN apt update && apt install -y postgresql-client ENV JDBC_URL=jdbc:log4jd..

Chapter01/Docker 2024.10.15

[ Docker ] Harbor 서버에 docker image push하기

이전에 생성한 mailserver docker image를 push해보겠음간단하게 harbor에 push하는 테스트가 해보고싶으면 생성하징않고 아무 이미지나 pull 받아서해도됨  ▼ ▼ ▼ 샘플 이미지 생성하기 ▼ ▼ ▼ ▼ ▼https://dev-emma-dev.tistory.com/231 [ Docker ] 이미지 생성Docker 이미지 만들기는 크게 Dockerfile 작성해 해당 이미지 빌드 후 Docker Hub에 푸시의 과정으로 나눌 수 있음.mailserver이미지 만드는 예시로 ㄱㄱ 1. /root경로에 Dockerfile 생성# 베이스 이미지 지정dev-emma-dev.tistory.com    /etc/hosts에 harbor서버 등록하기  로그인하기docker login  이미지 목..

Chapter01/Docker 2024.10.08

[ SMTP 메일 전송 ] Could not convert socket to TLS

SMTP 서버 정보를 받고, 이메일 전송 테스트를 진행했다.   간단하게 컨트롤러만 만들어서  postman으로 날려봄  이런 상황이 발생했고, 이메일은 전송되지않음도메인 접속에 실패하고 ping도 안가는 상황,,  ??????왜그랴 는 이제 찾아보자     써칭해본결과 PKIX path building failed 관련에러-> 서버의 인증서를 다운로드하여 키스토어에 추가해야한다? crt 파일을 만들어서 넣고 인증 어쩌구저쩌구 했으나 안됨 tls버전이 안맞는다?-> 보안문제로 기존에 지원하던 TLS버전이 지원중단되서 TLS버전이 1.0이나 1.1로 사용되는 경우가있다는것을알게됨 port문제?->  예전에 사용했던거나 보안문제 등 여러가지 상황에 따라 25, 465, 587, 2525 등이 사용됨. 표준은..

[ Kubernetes ]MetalLB와 Ingress 사용해 배포하기

1. DeploymentDeployment는 애플리케이션의 배포와 관리를 위한 Kubernetes 리소스. 특정 수의 파드를 실행하고, 파드의 상태를 관리합.apiVersion: apps/v1 kind: Deployment metadata:   name: mailserver-deployment spec:   replicas: 1   selector:     matchLabels:       app: mailserver   template:     metadata:       labels:         app: mailserver     spec:       containers:       - name: mailserver         image: your-dockerhub-id/mymailserver..

[ Kubernetes ] MetalLB와 Ingress를 사용해 외부에서 접근 가능한 인프라 구축

▼ ▼ ▼ ▼ ▼ 이미지 생성 ▼ ▼ ▼ ▼https://dev-emma-dev.tistory.com/231 [ Docker ] 이미지 만들기Docker 이미지 만들기는 크게 Dockerfile 작성해 해당 이미지 빌드 후 Docker Hub에 푸시의 과정으로 나눌 수 있음.mailserver이미지 만드는 예시로 ㄱㄱ 1. /root경로에 Dockerfile 생성# 베이스 이미지 지정dev-emma-dev.tistory.com ▼ ▼ ▼ ▼ ▼ 배포 ▼ ▼ ▼ ▼https://dev-emma-dev.tistory.com/233 [ Kubernetes ]MetalLB와 Ingress 사용해 배포하기1. DeploymentDeployment는 애플리케이션의 배포와 관리를 위한 Kubernetes 리소스. 특..

[ Docker ] 이미지 생성

Docker 이미지 만들기는 크게 Dockerfile 작성해 해당 이미지 빌드 후 Docker Hub에 푸시의 과정으로 나눌 수 있음.mailserver이미지 만드는 예시로 ㄱㄱ 1. /root경로에 Dockerfile 생성# 베이스 이미지 지정 FROM ubuntu:20.04 # 필요한 패키지 설치 RUN apt-get update && \     DEBIAN_FRONTEND=noninteractive apt-get install -y \     postfix \     mailutils # postfix 메인 설정 파일 복사 COPY main.cf /etc/postfix/main.cf # postfix 데몬 실행 CMD service postfix start && tail -f /var/log/mai..

Chapter01/Docker 2024.09.30

[ Kubernetes ] .yaml로 Nginx Pod을 K8S cluster에 배포하기

두 가지 방식이 있음1.kubectl create deployment 명령어로 Deployment를 생성하기2. YAML파일로 kubectl apply 차이점은kubectl create deployment 명령어를 사용하면 deployment 리소스가 생성되어 deployment를 관리하는 Pod의 복제본을 유지해 Pod이 실패하는 경우 자동으로 새로운 Pod을 생성한다.YAML 파일로 생성한 것은 단일 Pod라서 Pod이 실패하면 자동으로 다시 생성되지 않아 새로운 Pod을 만들어야함. 그래서 복제본을 유지하거나 애플리케이션 가동 중단 없이 업데이트를 해야하는 경우라면 deployment 를 생성하는 방식이 유용하고,굳이 그렇지 않은 경우라면 간단하게 YAML을 만들어 생성,관리를 용이하게 하면된다관리..