Spring Config - Gateway

조현재·2023년 2월 2일
0

MSA

목록 보기
15/17

Gateway 설정

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

bootstramp.yml파일

spring:
  cloud:
    config:
      uri: http://112.1.1.2:8888
      name: ecommerce #파일명 yml

application.yml파일

management:
  endpoints:
    web:
      exposure:
        include: refresh, health, beans, httptrace

httptrace을 쓰기 위해서는 설정을 추가해줘야한다.

GatewayApplication에 bean추가

@Bean
	public HttpTraceRepository httpTraceRepository(){
		return new InMemoryHttpTraceRepository();
	}

application.yml 추가

- id: user-service
  uri: lb://USER-SERVICE
  predicates:
    - Path=/order-service/actuator/**
    - Method=GET,POST
  filters:
    - RemoveRequestHeader=Cookie
    - RewritePath=/user-service(?<segment>.*), /$\{segment}

application file을 여러개 생성 시

이름을 서로 정보를 다르게 해보자

token:
  expiration_time: 86400000
  secret: user_token_dev
token:
  expiration_time: 86400000
  secret: user_token_prod

근데 이렇게 하면 두개의 정보가 다르기에 jwt가 판단한다.

git repo & native file repo

githb github 주소 로 이어지는것도 가능 합니다. github repository 값을 넣어 가능 합니다.
profiles:
   active: native #cloud.config.server.native 와 같이 연계되어 사용한다.
native:
  search-locations:  yaml 파일이 있는 폴더 위치를 넣어주면 된다.
profile
내일이 다른

0개의 댓글