山东软件开发的公司/长沙关键词优化首选
一、Http超时配置
Spring Cloud Gateway
可以为所有路由配置 Http 超时(响应和连接)
,并为每个特定路由覆盖设置。
1.1 全局超时
配置全局 http
超时:
connect-timeout
必须以毫秒为单位指定。response-timeout
必须指定为java.time.Duration
使用示例:
spring:cloud:gateway:httpclient:connect-timeout: 1000response-timeout: 5s
1.2 单路由超时
配置单路由超时:
connect-timeout
必须以毫秒为单位指定。response-timeout
必须以毫秒为单位指定。
使用示例:
spring:cloud:gateway:routes:- id: per_route_timeoutsuri: https://example.orgpredicates:- name: Pathargs:pattern: /delay/**filters:- StripPrefix=1metadata:response-timeout: 200connect-timeout: 200
使用Java DSL
对单个路由超时配置:
import static org.springframework.cloud.gateway.support.RouteMetadataUtils.CONNECT_TIMEOUT_ATTR;
import static org.springframework.cloud.gateway.support.RouteMetadataUtils.RESPONSE_TIMEOUT_ATTR;@Bean
public RouteLocator customRouteLocator(RouteLocatorBuilder routeBuilder){return routeBuilder.routes().route("per_route_timeouts", r -> {return r.path("/delay/**").filters(f -> f.stripPrefix(1)).uri("https://example.org").metadata(RESPONSE_TIMEOUT_ATTR, 200).metadata(CONNECT_TIMEOUT_ATTR, 200);}).build();
}
response-timeout
具有负值的每个路由将禁用全局response-timeout
值。
spring:cloud:gateway:routes:- id: per_route_timeoutsuri: https://example.orgpredicates:- name: Pathargs:pattern: /delay/**filters:- StripPrefix=1metadata:response-timeout: -1
1.3 超时效果
二、CORS配置
Spring Cloud Gateway
可以为网关配置全局或单路由的跨域行为控制。两者都提供相同的特性。
2.1 全局 CORS 配置
全局CORS配置:是 URL
模式到Spring FrameworkCorsConfiguration
的映射。
spring:cloud:gateway:globalcors: # 全局的跨域处理add-to-simple-url-handler-mapping: true # 解决options请求被拦截问题cors-configurations:'[/**]':allowedOrigins: "https://docs.spring.io" # 允许哪些网站的跨域请求allowedMethods: # 允许的跨域的请求方式- "GET"- "POST"- "DELETE"- "PUT"- "OPTIONS"allowedHeaders: "*" # 允许在请求中携带的头信息allowCredentials: true # 是否允许携带cookiemaxAge: 360000 # 这次跨域检测的有效期
此示例中,允许来自docs.spring.io
所有 GET
请求方式的CORS
请求。
spring.cloud.gateway.globalcors.add-to-simple-url-handler-mapping属性设置为true
:支持 CORS
预检请求。
options
请求就是预检请求,可用于检测服务器允许的http
方法。当发起跨域请求时,由于安全原因,触发一定条件时,浏览器会在正式请求之前自动先发起OPTIONS
请求,即CORS
预检请求,服务器若接受该跨域请求,浏览器才继续发起正式请求。
2.2 路由 CORS 配置
路由配置允许将 CORS
作为带有 key
的元数据直接应用于路由CORS
。与全局配置的情况一样,属性属于Spring FrameworkCorsConfiguration
。
spring:cloud:gateway:routes:- id: cors_routeuri: https://example.orgpredicates:- Path=/service/**metadata:corsallowedOrigins: '*'allowedMethods:- GET- POST- DELETE- PUTallowedHeaders: '*'maxAge: 360000