Gateway for Spring은 마이크로 서비스 아키텍처의 일부로 API 요청을 라우팅, 관리 및 처리하는 효율적이고 강력한 방법을 제공합니다. 다양한 서비스로 외부 요청을 라우팅하는 API 게이트웨이 역할을 하며, 필터링, 부하 분산 등 다양한 기능을 추가합니다. 이 문서에서는 컨테이너 앱에 대한 요청을 전달하는 게이트웨이를 만드는 방법을 알아봅니다.
이 자습서에서는 다음에 대해 알아봅니다.
- Gateway for Spring Java 구성 요소 만들기
- 컨테이너 앱으로 요청을 리디렉션하기 위한 사용자 지정 경로로 Gateway for Spring 업데이트
중요
이 자습서에서는 Azure 청구서에 영향을 줄 수 있는 서비스를 사용합니다. 단계별로 따르기로 결정한 경우 예기치 못한 비용이 청구되지 않도록 이 문서에 소개된 리소스를 삭제해야 합니다.
필수 구성 요소
- 활성 구독이 있는 Azure 계정. 아직 계정이 없다면 무료로 만들 수 있습니다.
- Azure CLI
고려 사항
Azure Container Apps에서 Gateway for Spring을 실행할 때 다음 세부 정보를 확인합니다.
| 항목 | 설명 |
|---|---|
| 범위 | Gateway for Spring은 연결된 컨테이너 앱과 동일한 환경에서 실행됩니다. |
| 리소스 | Gateway for Spring의 컨테이너 리소스 할당은 고정되어 있으며, CPU 코어 수는 0.5개, 메모리 크기는 1Gi입니다. |
| 가격 | Gateway for Spring 청구는 사용량 기반 가격 책정에 속합니다. 관리 Java 구성 요소에서 사용하는 리소스는 활성/유휴 요금으로 청구됩니다. 더 이상 사용하지 않는 구성 요소를 삭제하여 청구를 중지할 수 있습니다. |
설치 프로그램
Gateway for 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 구성 요소의 이름입니다. 이 경우 Gateway for 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이 환경은 Gateway for Spring 구성 요소와 컨테이너 앱을 모두 호스팅하는 데 사용됩니다.
Gateway for Spring Java 구성 요소 사용
이제 Container Apps 환경이 있으므로 Gateway for Spring Java 구성 요소를 사용하여 요청을 라우팅하는 컨테이너 앱을 만들 수 있습니다.
Gateway for 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 파일을 만듭니다.
<MYAPP_URL>을 이전 단계의 컨테이너 앱 FQDN으로 바꿉니다.springCloudGatewayRoutes: - id: "route1" uri: "<MYAPP_URL>" predicates: - "Path=/myapp/{path}" filters: - "SetPath=/actuator/{path}"다음 명령을 실행하여 경로 구성으로 Gateway for 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
경로 파일 형식
Gateway for 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}"
Gateway for Spring에 허용되는 구성 목록(#configurable-properties)
다음 표에서는 앱에 대해 구성할 수 있는 게이트웨이 구성 요소 속성을 설명합니다. 자세한 내용은 Spring Cloud Gateway 공통 애플리케이션 속성을 참조하세요.
| 속성 이름 | 설명 | 기본값 |
|---|---|---|
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() + "_"입니다.
routeId를 만들기 위해 서비스 ID가 추가됩니다. |
|
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 |
캐시 항목 만료 시간은 s(초), m(분), h(시간)으로 표현됩니다. |
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 |
URL 처리기에 글로벌 CORS 구성을 추가해야 합니다. | 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 |
채널 풀 메트릭을 수집하여 Micrometer에 등록할 수 있습니다. 기본적으로 사용하지 않도록 설정됩니다. | 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을 사용하여 로그 파일을 작성하는 것은 금지되어야 합니다.