springcloud gateway 配置路由 spring: cloud: gateway: routes: - id: ke-build-gateway uri: lb://ke-build-gateway predicates: - Path=/base/** filters: - StripPrefix=1 - id: ke-build-admin uri: lb://ke-build-admin predicates: - Path=/api/** filters: - StripPrefix=1 配置路由后 使用路由地址和不使用路由地址都能访问接口
时间: 2024-04-10 20:34:22 浏览: 118
根据您提供的配置,确实存在一个问题。您的路由配置没有指定要匹配的主机地址,因此无论使用路由地址还是不使用路由地址,请求都能够访问接口。
为了解决这个问题,您可以在每个路由规则中添加一个`Host`谓词,用于指定要匹配的主机地址。例如,您可以添加`Host=localhost`来限制只有来自本地主机的请求才会触发路由规则。
修正后的配置如下所示:
```yaml
spring:
cloud:
gateway:
routes:
- id: ke-build-gateway
uri: lb://ke-build-gateway
predicates:
- Path=/base/**
- Host=localhost
filters:
- StripPrefix=1
- id: ke-build-admin
uri: lb://ke-build-admin
predicates:
- Path=/api/**
- Host=localhost
filters:
- StripPrefix=1
```
请确保将`localhost`替换为您实际要匹配的主机地址。这样配置后,只有来自指定主机的请求才会触发路由规则。其他未匹配到路由规则的请求将无法访问接口。
希望这能帮助您解决问题。如果您有任何进一步的疑问,请随时提问。
阅读全文