Spring (43) 썸네일형 리스트형 Netflix Zuul Gateway Filter MSA서비스를 개발하면서 우리가 gateway 를 직접 개발한다면 개발해야할 내용들이 굉장히 많다. Netflix에서는 직접 개발한 Zuul gateway를 공개함으로써 많은 개발자들이 편하게 가져다 쓰도록 지원하고 있다. 지원하고 있다기 보다는 지원했다라고 하는게 맞는가. 무튼 지금은 Spring Cloud Gatway 사용을 권장하고 있다. 가볍게 알아보려고 한다. Zuul gateway 중심에는 HTTP Request와 Response를 처리하는 동안 다양한 작업을 처리할 수 있는 필터가 존재한다. Type: most often defines the stage during the routing flow when the filter will be applied (although it can be an.. SpringBoot @Conditional 에 대해 알아보자 @Conditional SpringBoot App을 빌드할 때 어떤 조건이 충족되는 경우에만 Application Context에 로드하고 싶다. 테스트 중일 때는 비활성화되어 있거나 런타임 환경에 특정 조건일 때만 충족해야할 경우에 사용한다. Spring은 특정한 경우에만 사용자가 커스텀하게 정의하여 사용할 수 있도록 Conditional 어노테이션을 도입했다. (도입한지는 꽤 됐다) Spring4부터 사용이 가능하다. Conditional @Bean @Configuration class ConditionalBeanConfiguration { @Bean @Conditional... // SpringBoot @EnableEncryptableProperties 스프링에서 암호화를 써보자 설정파일에 민감한 정보들은 암호화를 해줘야 한다. (DB비밀번호, URL 같은 것들..) 암호화는 대세를 따라서 jasypt(Java Simplified Encryption)를 썼다. // https://mvnrepository.com/artifact/com.github.ulisesbocchio/jasypt-spring-boot-starter compile group: 'com.github.ulisesbocchio', name: 'jasypt-spring-boot-starter', version: '3.0.3' // https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk15to18 compile group: 'org.bouncycastle', na.. SpringBoot CORS설정 CORS란? Cross-Origin Resource Sharing(CORS) 교차출처 리소스 공유 서로 다른 도메인끼리 다른 도메인의 요청을 허용하도록 하는 구조를 말한다. 허용하기 위해서도 사용하지만 다른 도메인에서 쓰지 못하도록 제한하는 데도 사용한다. 요청헤더 Origin Access-Control-Request-Method Access-Control-Request-Headers 응답헤더 Access-Control-Allow-Origin Access-Control-Allow-Credentials Access-Control-Expose-Headers Access-Control-Max-Age Access-Control-Allow-Methods Access-Control-Allow-Headers Spri.. SpringBootServletInitializer 란 무엇일까? 왜쓰지? 차근차근 공부하려고 했는데 모르는게 너무 많다. 다소 번잡스럽지만 최대한 정리를 해가면서 업무를 하려고 일단 찾아본 대로 정리한다. SpringBootServletInitializer란? 더보기 An opinionated WebApplicationInitializer to run a SpringApplication from a traditional WAR deployment. Binds Servlet, Filter and ServletContextInitializer beans from the application context to the server. To configure the application either override the configure(SpringApplicationBuilder).. Spring Cloud Gateway GatewayFilter GatewayFilter gatewayfilter를 이용하면 들어오는 HTTP요청과 나가는 HttpResponse를 수정할 수 있다. 특정경로로 범위가 지정된다. AddRequestFilter spring: cloud: gateway: routes: - id: add_request_header_route uri: https://example.org filters: - AddRequestHeader=X-Request-red, blue Routing API에 전달할 때 Header에 X-Request-red를 키값으로 value는 blue가 들어가서 전달된다. spring: cloud: gateway: routes: - id: add_request_header_route uri: https://example.. Spring Cloud Gateway predicates 테스트 Predicates Webflux handler Mapping을 사용하여 Route하는데 다양한 Predicates factory가 이미 정의되어 있다. After & Before spring: cloud: gateway: routes: - id: after_route uri: https://example.org predicates: - After=2017-01-20T17:42:47.789-07:00[America/Denver] spring: cloud: gateway: routes: - id: before_route uri: https://example.org predicates: - Before=2017-01-20T17:42:47.789-07:00[America/Denver] after는 해당 날짜가.. Spring Cloud Gateway Actuator enabled 방법 management.endpoint.gateway.enabled=true # default value management.endpoints.web.exposure.include=gateway endpoint.gateway.enabled를 true로 해줘야 endpoint를 확인할 수 있다. 처음엔 이렇게 아무것도 없다. 이전 1 2 3 4 5 6 다음