我有一个类似的问题。它仍然没有答案。。。
我有一个Eureka服务器、一个Spring Cloud网关和其他基于Spring的服务。当我把所有东西都放在本地运行时,一切都很好。
现在,我正在尝试将所有内容都放在容器中。我已经知道如何使业务服务服务和网关到达eureka服务器。但是现在当网关尝试路由到其他服务时,我面临一个问题。从Spring网关访问业务服务的路由是错误的。
网关的application.yml.如您所见,它使用负载均衡器uri:
server:
port: 8080
spring:
application:
name: api-gateway
cloud:
gateway:
discovery:
locator:
enabled: true
routes:
- id: cognito
uri: lb://cognito
predicates:
- Path=/cognito/**
filters:
- RewritePath=/cognito/(?<path>.*), /$\{path}
码头工人写作。yml。在所有文件中,[host.docker.internal]唯一写入的位置是:
services:
apigateway:
ports:
- "8080:8080"
command: mvn clean spring-boot:run
links:
- "eureka"
depends_on:
- "eureka"
environment:
server.port: 8080
eureka.client.serviceUrl.defaultZone: http://host.docker.internal:8761/eureka
eureka:
ports:
- "8761:8761"
command: mvn clean spring-boot:run
ports:
- "8085:8085"
command: mvn clean spring-boot:run
links:
- "eureka"
depends_on:
- "eureka"
environment:
server.port: 8085
eureka.client.serviceUrl.defaultZone: http://host.docker.internal:8761/eureka
执行过程中发生了什么:
apigateway_1 | java.lang.IllegalStateException: Could not create URI object: Malformed IPv6 address at index 8: http://[host.docker.internal:8761]:8085/auth
apigateway_1 | at org.springframework.web.util.HierarchicalUriComponents.toUri(HierarchicalUriComponents.java:521) ~[spring-web-5.3.9.jar!/:5.3.9]
apigateway_1 | Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
apigateway_1 | Error has been observed at the following site(s):
apigateway_1 | |_ checkpoint ⇢ org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter [DefaultWebFilterChain]
apigateway_1 | |_ checkpoint ⇢ HTTP POST "/cognito/auth" [ExceptionHandlingWebHandler]
eureka spring gateway duo没有正确路由到cognito容器的地址。如何纠正它????
问题出在认知服务的application.yml。在那里我选择了实例的名称,我不应该。我应该只使用preferIpAddress=true。
之前:
eureka:
instance:
hostname: localhost
之后:
eureka:
instance:
preferIpAddress: true
和docker创作。yml我为eureka服务(比如说:eureka服务)输入了主机名,然后添加了环境var。客户服务URL。默认区域:http://eureka-service:8761/eureka
就是这样!
我意识到以前有人问过我这个问题,请容忍我,因为我还在学习这个问题。我想我已经尝试了所有的解决方案,但是没有运气。 问题是:当重定向到时,它没有呈现预期的组件() 我已经实现了一个,如下所示; privaterout.js 这就是我使用它的地方; index.js 在这个问题中要补充几点: 我确认重定向确实发生在(我通过将
我是新的反应,不知道为什么这不会起作用。 我的路由器代码在这里: 因此,这段代码所发生的情况是: localhost/显示良好
在我的React项目中,我有: 没有标题的登录组件 问题:我应该如何构建我的路由器从登录页面开始,当我点击登录时,路由器会把我带到仪表板?
利用 pipeline 进行中间件的层层处理后,接下来 laravel 就会利用请求的 url 来寻找与其对应的路由,laravel 采用对路由注册的 uri 进行正则编译,然后利用 request 的 url 进行正则匹配来寻找正确的路由。 前期准备 在上一篇文章中,我们了解了 Pipeline 的原理,我们知道它调用了 dispatchToRouter() 这个函数: protected fu
考虑以下事项: 我有一个应用模板,一个HeaderTemboard,和参数化的路由集与相同的处理程序(在应用模板)。我希望在没有找到东西的时候能够服务404路线。例如, /CA/SanFrancisco应该由区域查找和处理,而 /SanFranciscoz应该是404。 下面是我如何快速测试路线的。 问题是 /SanFranciscoz总是由区域页面处理,但我希望它是404。此外,如果我向第一个路
我有一个名为Dashboard的父组件,它被呈现为路由,如下所示: 我试着嘲笑每个人在嵌套路由上的解决方案,但我似乎无法解决我的问题。