我一直在阅读有关在我的微服务架构中实现API网关的Spring Cloud网关。我需要阻止某些内部操作使用的某些URL。但是,我像Zuul一样在网关中使用了 ignoredServices和ignorePatterns ,但是在Spring云网关link中没有这样的事情。我的内部API以/ internal / {something}开头。
类似地,我对服务器,Eureka,歇斯底里和弹簧配置还有其他疑问。下面是我与Netflix Zuul一起使用的apigateway.yml。
zuul:
ignoredServices: '/**/internal/**'
sensitive-headers: Cookie,Set-Cookie
routes:
microservice1:
service-id: microservice1
microservice2:
service-id: microservice2
host:
connect-timeout-millis: 10000
#10 mins socket timeout
socket-timeout-millis: 600000
management:
security:
enabled: false
health:
config:
enabled: false
server:
tomcat:
#50MB size limit
max-http-post-size: 5048576
compression:
enabled: true
mime-types: application/json,application/xml,text/html,text/xml,text/plain,application/javascript,text/css
eureka:
instance:
prefer-ip-address: true
lease-renewal-interval-in-seconds: 15
lease-expiration-duration-in-seconds: 45
metadata-map:
management:
port: ${management.port:9080}
client:
registryFetchIntervalSeconds: 15
hystrix:
command:
default:
execution:
timeout:
enabled: false
isolation:
strategy: THREAD
thread:
timeoutInMilliseconds: 10000
spring:
http:
multipart:
max-file-size: 50MB
max-request-size: 50MB
我需要帮助,以使用新的Spring云网关实现将其转换。
答案 0 :(得分:1)
SC网关在路由设置方面与SC Zuul的工作原理不同-它不会根据服务ID自动解析路由。仅添加通过属性或Java RouteLocator
配置明确定义的路由。因此,只需不要为要忽略的路径添加路由定义。另外,请确保使用过滤器删除您不想转发的所有敏感标头,因为与Zuul不同,它们默认情况下会被传递。