사붐이개발일기
[Eureka] ApiGateway Routers 재정의 (/user-service/ 제거) 본문
인프런/[Spring Cloud] MSA-이도원
[Eureka] ApiGateway Routers 재정의 (/user-service/ 제거)
sabeom 2023. 12. 1. 17:03
ApiGateway application.yml
server:
port: 8000
eureka:
client:
register-with-eureka: true
fetch-registry: true
service-url:
defaultZone: http://localhost:8761/eureka
spring:
application:
name: apigateway-service
cloud:
gateway:
default-filters:
- name: GlobalFilter
args:
baseMessage: Spring Cloud Gateway Global Filter
preLogger: true
postLogger: true
routes:
# - id: user-service
# uri: lb://USER-SERVICE
# predicates:
# - Path=/user-service/**
- id: user-service
uri: lb://USER-SERVICE
predicates:
- Path=/user-service/login
- Method=POST
filters:
- RemoveRequestHeader=Cookie # POST로 들어온값은 매번 새로운 데이터처럼 인식하게 만들기 위해 requestHeader값 초기화
- RewritePath=/user-service/(?<segment>.*), /$\{segment} # url_path 재정의
- id: user-service
uri: lb://USER-SERVICE
predicates:
- Path=/user-service/users
- Method=POST
filters:
- RemoveRequestHeader=Cookie # POST로 들어온값은 매번 새로운 데이터처럼 인식하게 만들기 위해 requestHeader값 초기화
- RewritePath=/user-service/(?<segment>.*), /$\{segment} # url_path 재정의
- id: user-service
uri: lb://USER-SERVICE
predicates:
- Path=/user-service/**
- Method=GET
filters:
- RemoveRequestHeader=Cookie # GET으로 들어온값은 매번 새로운 데이터처럼 인식하게 만들기 위해 requestHeader값 초기화
- RewritePath=/user-service/(?<segment>.*), /$\{segment} # url_path 재정의
- id: catalog-service
uri: lb://CATALOG-SERVICE
predicates:
- Path=/catalog-service/**
- id: order-service
uri: lb://ORDER-SERVICE
predicates:
- Path=/order-service/**
filters:
# - AddRequestHeader=first-request, first-request-header2
# - AddResponseHeader=first-response, first-response-header2
# - CustomFilter
User-Service application.yml
eureka:
instance:
instance-id: ${spring.application.name}:${spring.application.instance_id:${random.value}}
prefer-ip-address: true
client:
register-with-eureka: true
fetch-registry: true
service-url:
defaultZone: http://127.0.0.1:8761/eureka
- eureka.instance.prefer-ip-address
- 서비스의 호스트 이름이 아닌 IP 주소를 Eureka Server 에 등록하도록 지정 (디폴트 false)
- 기본적으로 유레카는 호스트 이름으로 접속하는 서비스를 등록하는데 DNS 가 지원된 호스트 이름을 할당하는 서버 기반 환경에서는 잘 동작하지만, 컨테이너 기반의 배포에서 컨테이너는 DNS 엔트리가 없는 임의의 생성된 호스트 이름을 부여받아 시작하므로 컨테이너 기반 배포에서는 해당 설정값을 false 로 하는 경우 호스트 이름 위치를 정상적으로 얻지 못함
'인프런 > [Spring Cloud] MSA-이도원' 카테고리의 다른 글
[MSA] 섹션7. Spring Cloud Config (0) | 2023.12.08 |
---|---|
[JWT] Security Authentication in user-service (0) | 2023.12.05 |
[Spring Security] Spring Security6 이상에서 hasIpAddress 사용하는법 (feat. springboot 3.0 (0) | 2023.11.29 |
[Spring MSA]섹션4. Users Microservice 에러사항 (0) | 2023.11.27 |
[Spring MSA]섹션3. E-commerce 애플리케이션 구조 (0) | 2023.11.23 |