자습서: Azure Container Apps에서 Spring용 관리 게이트웨이에 연결(미리 보기)
Spring용 게이트웨이는 마이크로 서비스 아키텍처의 일부로 API 요청을 라우팅, 관리 및 처리하는 효율적이고 강력한 방법을 제공합니다. 외부 요청을 다른 서비스로 라우팅하여 필터링, 부하 분산 등과 같은 다양한 기능을 추가하는 API 게이트웨이 역할을 합니다. 이 문서에서는 컨테이너 앱에 요청을 전송하는 게이트웨이를 만드는 방법을 알아봅니다.
이 자습서에서는 다음을 알아봅니다.
- Spring Java 구성 요소용 게이트웨이 만들기
- 요청을 컨테이너 앱으로 리디렉션하도록 사용자 지정 경로로 Spring용 게이트웨이 업데이트
Important
이 자습서에서는 Azure 청구서에 영향을 줄 수 있는 서비스를 사용합니다. 단계별로 따르기로 결정한 경우 예기치 못한 비용이 청구되지 않도록 이 문서에 소개된 리소스를 삭제해야 합니다.
필수 조건
고려 사항
Azure Container Apps의 Spring용 게이트웨이에서 실행하는 경우 다음 세부 정보를 알고 있어야 합니다.
Item | 설명 |
---|---|
범위 | Spring용 게이트웨이는 연결된 컨테이너 앱과 동일한 환경에서 실행됩니다. |
리소스 | Spring용 게이트웨이에 대한 컨테이너 리소스 할당이 고정되고 CPU 코어 수가 0.5이고 메모리 크기가 1Gi입니다. |
가격 | Spring 청구를 위한 게이트웨이는 소비 기반 가격 책정에 속합니다. 관리 Java 구성 요소에서 사용하는 리소스는 활성/유휴 요금으로 청구됩니다. 더 이상 사용하지 않는 구성 요소를 삭제하여 청구를 중지할 수 있습니다. |
설정
Spring용 게이트웨이 작업을 시작하기 전에 먼저 필요한 리소스를 만들어야 합니다.
다음 명령을 실행하여 리소스 그룹 및 Container Apps 환경을 만듭니다.
애플리케이션 구성을 지원하는 변수를 만듭니다. 이러한 값은 이 단원의 목적을 위해 제공됩니다. 이 단원에서는 Spring 샘플 앱에 대한 관리자의 액추에이터 엔드포인트를 사용합니다.
export LOCATION=eastus export RESOURCE_GROUP=my-spring-cloud-resource-group export ENVIRONMENT=my-spring-cloud-environment export JAVA_COMPONENT_NAME=mygateway export APP_NAME=myapp export IMAGE="mcr.microsoft.com/javacomponents/samples/sample-admin-for-spring-client:latest"
변수 설명 LOCATION
컨테이너 앱 및 Java 구성 요소를 만드는 Azure 지역 위치입니다. ENVIRONMENT
데모 애플리케이션의 Azure Container Apps 환경 이름입니다. RESOURCE_GROUP
데모 애플리케이션에 대한 Azure 리소스 그룹 이름입니다. JAVA_COMPONENT_NAME
컨테이너 앱용으로 만들어진 Java 구성 요소의 이름입니다. 이 경우 Spring Java 구성 요소에 대한 게이트웨이를 만듭니다. IMAGE
컨테이너 앱에 사용되는 컨테이너 이미지입니다. Azure CLI를 사용하여 Azure에 로그인합니다.
az login
리소스 그룹을 만듭니다.
az group create --name $RESOURCE_GROUP --location $LOCATION
컨테이너 앱 환경을 만듭니다.
az containerapp env create \ --name $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --location $LOCATION
이 환경은 Spring용 게이트웨이 구성 요소와 컨테이너 앱을 모두 호스트하는 데 사용됩니다.
Spring Java용 게이트웨이 구성 요소 사용
이제 Container Apps 환경이 있으므로 Spring Java 구성 요소에 대한 게이트웨이를 사용하여 컨테이너 앱을 만들어 요청을 라우팅할 수 있습니다.
Spring Java 구성 요소에 대한 게이트웨이를 만듭니다.
az containerapp env java-component gateway-for-spring create \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $JAVA_COMPONENT_NAME \
FQDN(정규화된 도메인 이름)이 있는 컨테이너 앱을 만듭니다.
az containerapp create \ --name $APP_NAME \ --resource-group $RESOURCE_GROUP \ --environment $ENVIRONMENT \ --image $IMAGE \ --ingress external \ --target-port 8080 \ --query properties.configuration.ingress.fqdn
이 명령은 구성 데이터를 사용하는 컨테이너 앱의 URL을 반환합니다. 다음 단계에서 사용할 수 있도록 URL을 텍스트 편집기로 복사합니다.
게이트웨이 경로를 업데이트하여 요청 라우팅
다음 콘텐츠를 사용하여 YAML 파일을 만듭니다. 이전 단계의 컨테이너 앱 FQDN으로 바꿉
<MYAPP_URL>
다.springCloudGatewayRoutes: - id: "route1" uri: "<MYAPP_URL>" predicates: - "Path=/myapp/{path}" filters: - "SetPath=/actuator/{path}"
다음 명령을 실행하여 경로 구성으로 Spring용 게이트웨이 구성 요소를 업데이트합니다.
az containerapp env java-component gateway-for-spring update \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $JAVA_COMPONENT_NAME \ --route-yaml <PTAH_TO_ROUTE_YAML_FILE> \ --query properties.ingress.fqdn
이 명령은 게이트웨이 경로를 업데이트하고 구성 데이터를 사용하는 게이트웨이의 URL을 반환합니다.
이 명령은 게이트웨이의 URL을 반환합니다. 경로를
/myapp/health
사용하여 이 URL을 방문하면 요청을 앱의actuator/health
엔드포인트로 라우팅하고{"status":"UP","groups":["liveness","readiness"]}
반환해야 합니다.
리소스 정리
이 자습서에서 만든 리소스는 Azure 청구서에 영향을 줍니다. 이러한 서비스를 장기간 사용하지 않을 예정이면 다음 명령을 실행하여 이 자습서에서 만든 모든 항목을 제거합니다.
az group delete --resource-group $RESOURCE_GROUP
경로 파일 형식
Spring용 게이트웨이 구성 요소는 ID, URI, 조건자 및 필터를 사용하여 속성을 통한 경로 정의를 지원합니다. 자세한 내용은 Spring Cloud Gateway 설명서를 참조 하세요. 다음은 이러한 속성을 구성하는 방법을 보여 주는 YAML 파일 예제입니다.
springCloudGatewayRoutes:
- id: "route1"
uri: "https://otherjavacomponent.myenvironment.test.net"
predicates:
- "Path=/v1/{path}"
- "After=2024-01-01T00:00:00.000-00:00[America/Denver]"
filters:
- "SetPath=/{path}"
- id: "route2"
uri: "https://otherjavacomponent.myenvironment.test.net"
predicates:
- "Path=/v2/{path}"
- "After=2024-01-01T00:00:00.000-00:00[America/Denver]"
filters:
- "SetPath=/{path}"
Spring용 게이트웨이에 허용되는 구성 목록(#configurable-properties)
다음 표에서는 앱에 대해 구성할 수 있는 게이트웨이 구성 요소 속성에 대해 설명합니다. 자세한 내용은 Spring Cloud Gateway Common 애플리케이션 속성을 참조 하세요.
Property name | 설명 | 기본값 |
---|---|---|
spring.cloud.gateway.default-filters |
모든 경로에 적용되는 필터 정의 목록입니다. | |
spring.cloud.gateway.enabled |
게이트웨이 기능을 사용하도록 설정합니다. | true |
spring.cloud.gateway.fail-on-route-definition-error |
경로 정의 오류에 실패하는 옵션은 기본적으로 true로 설정됩니다. 그렇지 않으면 경고가 기록됩니다. | true |
spring.cloud.gateway.handler-mapping.order |
의 순서입니다 RoutePredicateHandlerMapping . |
1 |
spring.cloud.gateway.loadbalancer.use404 |
false |
|
spring.cloud.gateway.discovery.locator.enabled |
게이트웨이 통합을 사용하도록 설정하는 플래그입니다 DiscoveryClient . |
false |
spring.cloud.gateway.discovery.locator.filters |
||
spring.cloud.gateway.discovery.locator.include-expression |
게이트웨이 통합에 서비스를 포함할지 여부를 평가하는 SpEL 식입니다. 기본값은 true 입니다. |
true |
spring.cloud.gateway.discovery.locator.lower-case-service-id |
조건자 및 필터에서 소문 serviceId 자를 지정하는 옵션입니다. 기본값은 false 입니다. 자동으로 상위에 serviceId 있는 경우 Eureka에 유용합니다. 따라서 일치합니다. MYSERVICE /myservice/** |
false |
spring.cloud.gateway.discovery.locator.predicates |
||
spring.cloud.gateway.discovery.locator.route-id-prefix |
의 접두사는 routeId 기본적으로 discoveryClient.getClass().getSimpleName() + "_"입니다. 서비스 ID가 추가되어 routeId . |
|
spring.cloud.gateway.discovery.locator.url-expression |
각 경로에 대한 URI를 만드는 SpEL 식입니다. 기본값은 'lb://'+serviceId 입니다. |
'lb://'+serviceId |
spring.cloud.gateway.filter.add-request-header.enabled |
필터를 add-request-header 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.add-request-parameter.enabled |
필터를 add-request-parameter 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.add-response-header.enabled |
필터를 add-response-header 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.circuit-breaker.enabled |
필터를 circuit-breaker 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.dedupe-response-header.enabled |
필터를 dedupe-response-header 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.fallback-headers.enabled |
필터를 fallback-headers 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.hystrix.enabled |
필터를 hystrix 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.json-to-grpc.enabled |
JSON에서 gRPC 필터를 사용하도록 설정합니다. | true |
spring.cloud.gateway.filter.local-response-cache.enabled |
필터를 local-response-cache 사용하도록 설정합니다. |
false |
spring.cloud.gateway.filter.local-response-cache.request.no-cache-strategy |
||
spring.cloud.gateway.filter.local-response-cache.size |
이 경로에 대한 항목을 제거하는 캐시의 최대 크기(KB, MB 및 GB)입니다. | |
spring.cloud.gateway.filter.local-response-cache.time-to-live |
캐시 항목을 만료할 시간(초, 분 및 m h 시간)으로 표시됩니다s . |
5m |
spring.cloud.gateway.filter.map-request-header.enabled |
필터를 map-request-header 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.modify-request-body.enabled |
필터를 modify-request-body 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.modify-response-body.enabled |
필터를 modify-response-body 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.prefix-path.enabled |
필터를 prefix-path 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.preserve-host-header.enabled |
필터를 preserve-host-header 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.redirect-to.enabled |
필터를 redirect-to 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.remove-hop-by-hop.headers |
||
spring.cloud.gateway.filter.remove-hop-by-hop.order |
0 |
|
spring.cloud.gateway.filter.remove-request-header.enabled |
필터를 remove-request-header 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.remove-request-parameter.enabled |
필터를 remove-request-parameter 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.remove-response-header.enabled |
필터를 remove-response-header 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.request-header-size.enabled |
필터를 request-header-size 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.request-header-to-request-uri.enabled |
필터를 request-header-to-request-uri 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.request-rate-limiter.default-key-resolver |
||
spring.cloud.gateway.filter.request-rate-limiter.default-rate-limiter |
||
spring.cloud.gateway.filter.request-rate-limiter.enabled |
필터를 request-rate-limiter 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.request-size.enabled |
필터를 request-size 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.retry.enabled |
필터를 retry 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.rewrite-location-response-header.enabled |
필터를 rewrite-location-response-header 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.rewrite-location.enabled |
필터를 rewrite-location 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.rewrite-path.enabled |
필터를 rewrite-path 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.rewrite-request-parameter.enabled |
필터를 rewrite-request-parameter 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.rewrite-response-header.enabled |
필터를 rewrite-response-header 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.save-session.enabled |
필터를 save-session 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.secure-headers.content-security-policy |
default-src 'self' https:; font-src 'self' https: data:; img-src 'self' https: data:; object-src 'none'; script-src https:; style-src 'self' https: 'unsafe-inline' |
|
spring.cloud.gateway.filter.secure-headers.content-type-options |
nosniff |
|
spring.cloud.gateway.filter.secure-headers.disable |
||
spring.cloud.gateway.filter.secure-headers.download-options |
noopen |
|
spring.cloud.gateway.filter.secure-headers.enabled |
필터를 secure-headers 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.secure-headers.frame-options |
DENY |
|
spring.cloud.gateway.filter.secure-headers.permitted-cross-domain-policies |
none |
|
spring.cloud.gateway.filter.secure-headers.referrer-policy |
no-referrer |
|
spring.cloud.gateway.filter.secure-headers.strict-transport-security |
max-age=631138519 |
|
spring.cloud.gateway.filter.secure-headers.xss-protection-header |
1 ; mode=block |
|
spring.cloud.gateway.filter.set-path.enabled |
필터를 set-path 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.set-request-header.enabled |
필터를 set-request-header 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.set-request-host-header.enabled |
필터를 set-request-host-header 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.set-response-header.enabled |
필터를 set-response-header 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.set-status.enabled |
필터를 set-status 사용하도록 설정합니다. |
true |
spring.cloud.gateway.filter.strip-prefix.enabled |
필터를 strip-prefix 사용하도록 설정합니다. |
true |
spring.cloud.gateway.forwarded.enabled |
를 사용하도록 설정합니다 ForwardedHeadersFilter . |
true |
spring.cloud.gateway.global-filter.adapt-cached-body.enabled |
전역 필터를 adapt-cached-body 사용하도록 설정합니다. |
true |
spring.cloud.gateway.global-filter.forward-path.enabled |
전역 필터를 forward-path 사용하도록 설정합니다. |
true |
spring.cloud.gateway.global-filter.forward-routing.enabled |
전역 필터를 forward-routing 사용하도록 설정합니다. |
true |
spring.cloud.gateway.global-filter.load-balancer-client.enabled |
전역 필터를 load-balancer-client 사용하도록 설정합니다. |
true |
spring.cloud.gateway.global-filter.local-response-cache.enabled |
필터를 local-response-cache 사용하여 경로 수준에서 특정 구성을 추가할 수 있도록 모든 경로에 필터를 LocalResponseCache 사용하도록 설정합니다. |
true |
spring.cloud.gateway.global-filter.netty-routing.enabled |
필터를 netty-routing global 사용하도록 설정합니다. |
true |
spring.cloud.gateway.global-filter.netty-write-response.enabled |
전역 필터를 netty-write-response 사용하도록 설정합니다. |
true |
spring.cloud.gateway.global-filter.reactive-load-balancer-client.enabled |
전역 필터를 reactive-load-balancer-client 사용하도록 설정합니다. |
true |
spring.cloud.gateway.global-filter.remove-cached-body.enabled |
전역 필터를 remove-cached-body 사용하도록 설정합니다. |
true |
spring.cloud.gateway.global-filter.route-to-request-url.enabled |
전역 필터를 route-to-request-url 사용하도록 설정합니다. |
true |
spring.cloud.gateway.global-filter.websocket-routing.enabled |
전역 필터를 websocket-routing 사용하도록 설정합니다. |
true |
spring.cloud.gateway.globalcors.add-to-simple-url-handler-mapping |
전역 CORS 구성을 URL 처리기에 추가해야 하는 경우 | false |
spring.cloud.gateway.globalcors.cors-configurations |
||
spring.cloud.gateway.redis-rate-limiter.burst-capacity-header |
버스트 용량 구성을 반환하는 헤더의 이름입니다. | X-RateLimit-Burst-Capacity |
spring.cloud.gateway.redis-rate-limiter.config |
||
spring.cloud.gateway.redis-rate-limiter.include-headers |
속도 제한기 정보가 포함된 헤더를 포함할지 여부입니다. 기본값은 true 입니다. |
true |
spring.cloud.gateway.redis-rate-limiter.remaining-header |
현재 초 동안 남은 요청 수를 반환하는 헤더의 이름입니다. | X-RateLimit-Remaining |
spring.cloud.gateway.redis-rate-limiter.replenish-rate-header |
보충 속도 구성을 반환하는 헤더의 이름입니다. | X-RateLimit-Replenish-Rate |
spring.cloud.gateway.redis-rate-limiter.requested-tokens-header |
요청된 토큰 구성을 반환하는 헤더의 이름입니다. | X-RateLimit-Requested-Tokens |
spring.cloud.gateway.restrictive-property-accessor.enabled |
SpEL에서 메서드 및 속성 액세스를 제한합니다. | true |
spring.cloud.gateway.predicate.after.enabled |
조건자를 after 사용하도록 설정합니다. |
true |
spring.cloud.gateway.predicate.before.enabled |
조건자를 before 사용하도록 설정합니다. |
true |
spring.cloud.gateway.predicate.between.enabled |
조건자를 between 사용하도록 설정합니다. |
true |
spring.cloud.gateway.predicate.cloud-foundry-route-service.enabled |
조건자를 cloud-foundry-route-service 사용하도록 설정합니다. |
true |
spring.cloud.gateway.predicate.cookie.enabled |
조건자를 cookie 사용하도록 설정합니다. |
true |
spring.cloud.gateway.predicate.header.enabled |
조건자를 header 사용하도록 설정합니다. |
true |
spring.cloud.gateway.predicate.host.enabled |
조건자를 host 사용하도록 설정합니다. |
true |
spring.cloud.gateway.predicate.host.include-port |
호스트 이름과 일치하는 포트를 포함합니다. | true |
spring.cloud.gateway.predicate.method.enabled |
조건자를 method 사용하도록 설정합니다. |
true |
spring.cloud.gateway.predicate.path.enabled |
조건자를 path 사용하도록 설정합니다. |
true |
spring.cloud.gateway.predicate.query.enabled |
조건자를 query 사용하도록 설정합니다. |
true |
spring.cloud.gateway.predicate.read-body.enabled |
조건자를 read-body 사용하도록 설정합니다. |
true |
spring.cloud.gateway.predicate.remote-addr.enabled |
조건자를 remote-addr 사용하도록 설정합니다. |
true |
spring.cloud.gateway.predicate.weight.enabled |
조건자를 weight 사용하도록 설정합니다. |
true |
spring.cloud.gateway.predicate.xforwarded-remote-addr.enabled |
조건자를 xforwarded-remote-addr 사용하도록 설정합니다. |
true |
spring.cloud.gateway.set-status.original-status-header-name |
프록시된 요청의 HTTP 코드를 포함하는 헤더의 이름입니다. | |
spring.cloud.gateway.streaming-media-types |
||
spring.cloud.gateway.x-forwarded.enabled |
활성화 XForwardedHeadersFilter 된 경우 |
true |
spring.cloud.gateway.x-forwarded.for-append |
목록으로 추가할 X-Forwarded-For 수 있는 경우 |
true |
spring.cloud.gateway.x-forwarded.for-enabled |
활성화된 경우 X-Forwarded-For |
true |
spring.cloud.gateway.x-forwarded.host-append |
목록으로 추가할 X-Forwarded-Host 수 있는 경우 |
true |
spring.cloud.gateway.x-forwarded.host-enabled |
활성화된 경우 X-Forwarded-Host |
true |
spring.cloud.gateway.x-forwarded.order |
의 순서입니다 XForwardedHeadersFilter . |
0 |
spring.cloud.gateway.x-forwarded.port-append |
목록으로 추가할 X-Forwarded-Port 수 있는 경우 |
true |
spring.cloud.gateway.x-forwarded.port-enabled |
활성화된 경우 X-Forwarded-Port |
true |
spring.cloud.gateway.x-forwarded.prefix-append |
목록으로 추가할 X-Forwarded-Prefix 수 있는 경우 |
true |
spring.cloud.gateway.x-forwarded.prefix-enabled |
활성화된 경우 X-Forwarded-Prefix |
true |
spring.cloud.gateway.x-forwarded.proto-append |
목록으로 추가할 X-Forwarded-Proto 수 있는 경우 |
true |
spring.cloud.gateway.x-forwarded.proto-enabled |
활성화된 경우 X-Forwarded-Proto |
true |
spring.cloud.gateway.httpclient.compression |
Netty HttpClient 에 압축을 사용하도록 설정합니다. |
false |
spring.cloud.gateway.httpclient.connect-timeout |
연결된 시간 제한(밀리)입니다. 기본값은 30s 입니다. |
|
spring.cloud.gateway.httpclient.max-header-size |
최대 응답 헤더 크기입니다. | |
spring.cloud.gateway.httpclient.max-initial-line-length |
최대 초기 줄 길이입니다. | |
spring.cloud.gateway.httpclient.pool.acquire-timeout |
형식 FIXED 에 대해서만, 획득을 기다리는 최대 시간(밀리)입니다. |
|
spring.cloud.gateway.httpclient.pool.eviction-interval |
지정된 간격으로 백그라운드에서 정기적인 제거 검사를 수행합니다. 기본적으로 사용하지 않도록 설정됩니다({@link Duration#ZERO} ). |
0 |
spring.cloud.gateway.httpclient.pool.max-connections |
FIXED 형식에 대해서만 기존 연결에서 보류 중인 취득을 시작하기 전의 최대 연결 수입니다. | |
spring.cloud.gateway.httpclient.pool.max-idle-time |
채널이 닫힌 시간(밀리)입니다. 이 경우 NULL 최대 유휴 시간이 없습니다. |
|
spring.cloud.gateway.httpclient.pool.max-life-time |
채널이 닫힌 기간입니다. 이 경우 NULL 최대 수명 시간이 없습니다. |
|
spring.cloud.gateway.httpclient.pool.metrics |
채널 풀 메트릭을 마이크로미터에 수집 및 등록할 수 있습니다. 기본적으로 사용하지 않도록 설정되어 있습니다. | false |
spring.cloud.gateway.httpclient.pool.name |
채널 풀 맵 이름( 기본적으로 프록시)입니다. | proxy |
spring.cloud.gateway.httpclient.pool.type |
사용할 풀 HttpClient 의 유형입니다. 기본값은 .입니다 ELASTIC . |
|
spring.cloud.gateway.httpclient.response-timeout |
응답 시간 제한입니다. | |
spring.cloud.gateway.httpclient.ssl.close-notify-flush-timeout |
SSL close_notify 플러시 시간 제한입니다. 기본값 3000 ms 입니다. |
3000ms |
spring.cloud.gateway.httpclient.ssl.close-notify-read-timeout |
SSL close_notify 읽기 시간 제한입니다. 기본값은 0 ms 입니다. |
0 |
spring.cloud.gateway.httpclient.ssl.handshake-timeout |
SSL 핸드셰이크 시간 제한입니다. 기본값은 10000 ms. 입니다. |
10000ms |
spring.cloud.gateway.httpclient.ssl.use-insecure-trust-manager |
netty를 설치합니다 InsecureTrustManagerFactory . 이는 안전하지 않으며 프로덕션에 적합하지 않습니다. |
false |
spring.cloud.gateway.httpclient.websocket.max-frame-payload-length |
최대 프레임 페이로드 길이입니다. | |
spring.cloud.gateway.httpclient.websocket.proxy-ping |
다운스트림 서비스에 대한 프록시 ping 프레임입니다. 기본값은 true 입니다. |
true |
spring.cloud.gateway.httpclient.wiretap |
Netty HttpClient 에 대한 도청 디버깅을 사용하도록 설정합니다. |
false |
spring.cloud.gateway.httpserver.wiretap |
Netty HttpServer 에 대한 도청 디버깅을 사용하도록 설정합니다. |
false |
spring.cloud.gateway.metrics.enabled |
메트릭 데이터 수집을 사용하도록 설정합니다. | false |
spring.cloud.gateway.metrics.prefix |
게이트웨이에서 내보낸 모든 메트릭의 접두사입니다. | spring.cloud.gateway |
spring.cloud.gateway.metrics.tags |
메트릭에 추가된 태그 맵입니다. | |
spring.cloud.gateway.observability.enabled |
마이크로미터 관찰성 지원을 켜야 하는 경우 | true |
일반 구성
다음 목록에서는 일반적인 구성에 대해 설명합니다.
- 관련 구성 로깅
logging.level.*
logging.group.*
logging.*
네임스페이스의 다른 모든 구성은 금지되어야 합니다. 예를 들어,logging.file
을 사용하여 로그 파일을 작성하는 것은 금지되어야 합니다.