분류 전체보기 1341

대칭키를 이용한 암호화

Encryption : 암호화, Decryption : 복호화 암호화할 때 사용하는 키와 복호화 키를 같이 사용하는 것을 대칭키, 다르게 사용하는 것을 비대칭키라고 한다. 암호화를 한상태로 속성값을 저장을 한 뒤 실제 사용할 때 복호화를 해서 사용할 것이다. 대칭키를 이용한 암호화 User MSA의 Application.yml에 DB설정 정보를 config 서버 yml 파일로 옮길 것이다. User MSA의 DB설정에 암호 같은 경우 노출되지 않도록 암호화시켜 저장해야 한다. 저장 시점에는 암호화된 상태, 사용 시점에 복호화된 상태로 사용해야 한다. 암호화된 데이터가 실제 데이터와 다르다는 것을 구분해 주기 위해 { cipher }를 앞에 두어 암호화된 데이터를 표기해 준다. BootStrap 의존성 추..

ch01. RabbitMQ 설치

분산 시스템의 노드를 경량 메시지(MS) 중개인(RabbitMQ)과 연결 상태 및 구성에 대한 변경사항을 연결된 노드에게 전달 RabbitMQ 같은경우 적은 데이터를 안전하게 전송할 수 있다. Kafka 같은 경우 대용량 데이터를 빠르게 전송할 떄 사용한다. AMQP를 통해 변경됨을 알려줄 것이다. Actuator를 이용하지 않고 변경사항을 SpringBus에 전송되면 변경을 감지해 SpringBus에서 Node에 메시지를 전송해 준다. MAC 설치 https://www.rabbitmq.com/ Messaging that just works — RabbitMQ Developer Experience Deploy with BOSH, Chef, Docker and Puppet. Develop cross-lan..

ch05. Native File Repository && Git Repository

Git Repository private로 git을 만들었을 경우 username, password를 적어 주어야 한다. Native File Repository server: port: 8888 spring: application: name: config-service profiles: active: native cloud: config: server: native: search-locations: file:///${user.home}/native-file-repo git: uri: https://github.com/xjvmdutl/SpringCloudDeveplopMSA.git default-label: master #private일 경우 해당 정보를 입력해 주어야한다 #username: [your ..

ch03. Spring Cloud Gateway에서 Spring Cloud Config 연동

의존성 추가 bootstrap.yml 추가 name에서의 기본 설정같은 경우는 application.yml이다. name에 이름을 지정하게 된다면 지정한 yml파일을 읽어 온다. 지정한 yml에서 설정 서버에 ecommerce 설정을 읽어 온다 Application.yml autuactor에서 사용할 endpoint를 지정할 것이다. token 같은 경우 더이상 application.yml이 아닌 설정 서버에 등록된 ecommerce.yml파일에서 읽어올 것이므로 주석 refresh : 설정정보 갱신 health : 어플리케이션 상태 확인 beans : 등록되어 있는 bean httptrace : 다른 http 서비스가 처리되어 있는 상태 HttpTraceRepositry 빈을 등록해야 한다. USER-..

ch02. Users Microservice에서 Spring Cloud Config 연동

bootstrap.yml파일을 먼저 읽어 SpringConfigServer에 등록한 설정을 등록한다. 그 후, 내 설정 file에 등록된 yml을 등록하게 된다. 기존 Application.yml 등록한 token 설정 주석 의존성 추가 설정 파일을 읽어들일 설정 Server를 yml을 통해 등록(bootstrap.yml이 application.yml보다 먼저 읽힌다) Spring Config 설정 정보를 수정했을 때 반영하는 방법 서버 재기동(좋지 않은 방법, Configuration 정보를 사용하는 의미가 없다) Actuator refresh 해당 의존성만 추가하여도 다양한 기능을 지원해 준다. Application 상태, 모니터링 Metric 수집을 위한 Http End Point 제공 Spring..

ch01. Local Git Repository

Spring Cloud Config 외부에 있는 값을 가지고 전달해 주는 방식이므로 각 서비스를 다시 빌드하지 않고 바로 적용이 가능한 장점이 있다 각각 MSA에 있던 Application.yml 설정 파일을 관리하는 서버를 만들어 동적으로 MSA에 적용시킬 수 있는 장점이 있다. 우선순위 : application.yml -> application-name.yml -> application-name-.yml Local Git Repository 전체 설정을 관리하는 YML 파일을 GitRepository로 관리한다(ecommerce.yml) Git Local - Remote 파일이 나눠져 있다. add : 추적관리를 한다 commit : Local 서버에 올린다. push : 로컬에 있는 데이터를 Rem..

ch05. Users Microservice - AuthorizationHeaderFilter 추가

https://jwt.io/ JWT.IO JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties. jwt.io Gateway AuthorizationHeaderFilter 추가 @Component @Slf4j @RequiredArgsConstructor public class AuthorizationHeaderFilter extends AbstractGatewayFilterFactory { private final Environment env; //login -> token -> users(with token) -> header(include token)..

ch04. Users Microservice - 로그인 성공 처리

WebSecurity 생성자 주입(service, manager, env) AuthenticationFilter을 SuccessfulAuthentication 재정의 Token 생성 시 Yml 파일에 설정된 파일에서 시간을 읽어와 현재시간에 더해준다. Token 생성시 Yml 파일에 설정된 파일에서 secret 값을 읽어와 알고리즘을 이용해 생성해준다. 생성된 토큰은 header에 더해준다 JWT Token 생성하기 의존성 추가 yml 토큰 설정 토큰 유효시간은 하루(60 * 60 *24 *1000)이다